Potrzebujesz pomocy z C, C++, perl, python, itp.
-
Gwynbleidd
- Posty: 6
- Rejestracja: 16 kwietnia 2010, 08:13
Post
autor: Gwynbleidd »
Witam
.
Mam problem w programie netbeans, a mianowicie z najprostszym programem:
Kod: Zaznacz cały
#include<stdio.h>#include<math.h>
int x=3;
float b=7.5;
float c;
float a;
int main(void)
{
float i;
printf("podaj zmienną c\n");
scanf("%f", &c);
i=c*c+b*b;
printf("liczba i %f", i);
a=pow(i, 1.0/2.0);
printf("%f", a);
return 0;
}
Mam problem z funkcją ,,pow'', to znaczy z każdą inną także, gdy przekazuję do obojętnie jakiej funkcji zmienną gcc częstuje mnie:
Kod: Zaznacz cały
/home/wolf/NetBeansProjects/CppApplication_1/newfile.c:14: undefined reference to `pow'
collect2: ld returned 1 exit status
a cały log z kompilacji to:
Kod: Zaznacz cały
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Wejście do katalogu `/home/wolf/NetBeansProjects/CppApplication_1'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/cppapplication_1
make[2]: Wejście do katalogu `/home/wolf/NetBeansProjects/CppApplication_1'
mkdir -p dist/Debug/GNU-Linux-x86
gcc -o dist/Debug/GNU-Linux-x86/cppapplication_1 build/Debug/GNU-Linux-x86/newfile.o
build/Debug/GNU-Linux-x86/newfile.o: In function `main':
/home/wolf/NetBeansProjects/CppApplication_1/newfile.c:14: undefined reference to `pow'
collect2: ld returned 1 exit status
make[2]: *** [dist/Debug/GNU-Linux-x86/cppapplication_1] Błąd 1
make[2]: Opuszczenie katalogu `/home/wolf/NetBeansProjects/CppApplication_1'
make[1]: *** [.build-conf] Błąd 2
make[1]: Opuszczenie katalogu `/home/wolf/NetBeansProjects/CppApplication_1'
make: *** [.build-impl] Błąd 2
BUILD FAILED (exit value 2, total time: 864ms)
Co robić?
-
hello_world
- Posty: 66
- Rejestracja: 15 maja 2009, 21:03
Post
autor: hello_world »
Kod: Zaznacz cały
#include <stdio.h>
#include <math.h>
int x=3;
float b=7.5;
float c;
float a;
int main(void)
{
float i;
printf("podaj zmienną c\n");
scanf("%f", &c);
i=(c*c)+(b*b);
printf("liczba i %f\n", i);
a=powf(i, 0.5);
printf("%f", a);
return 0;
}
-
Gwynbleidd
- Posty: 6
- Rejestracja: 16 kwietnia 2010, 08:13
Post
autor: Gwynbleidd »
hello_world, dziękuje za pomoc, oczywiście pomogło. A i za kilka rad, odnośnie kodu, również dziękuję.
Dodane:
Zainstalowałem teraz program eclipse i mam ten sam problem. Dodałem parametr -lm jednak dalej mam niezadeklarowaną referencje.
Oto co wyświetla mi IDE:
Kod: Zaznacz cały
make all Building file: ../src/jeden.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -lm -v -MMD -MP -MF"src/jeden.d" -MT"src/jeden.d" -o "src/jeden.o" "../src/jeden.c"
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.1-15' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
Finished building: ../src/jeden.c
gcc version 4.6.1 (Debian 4.6.1-15)
COLLECT_GCC_OPTIONS='-O0' '-g3' '-Wall' '-c' '-fmessage-length=0' '-v' '-MMD' '-MP' '-MF' 'src/jeden.d' '-MT' 'src/jeden.d' '-o' 'src/jeden.o' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/4.6/cc1 -quiet -v -imultilib . -imultiarch x86_64-linux-gnu -MMD src/jeden.d -MF src/jeden.d -MP -MT src/jeden.d -dD ../src/jeden.c -quiet -dumpbase jeden.c -mtune=generic -march=x86-64 -auxbase-strip src/jeden.o -g3 -O0 -Wall -version -fmessage-length=0 -o /tmp/ccypD3Qu.s
Building target: jeden
GNU C (Debian 4.6.1-15) version 4.6.1 (x86_64-linux-gnu)
Invoking: GCC C Linker
compiled by GNU C version 4.6.1, GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9
gcc -o "jeden" ./src/jeden.o
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-linux-gnu/4.6/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C (Debian 4.6.1-15) version 4.6.1 (x86_64-linux-gnu)
compiled by GNU C version 4.6.1, GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 0976cb1d7dfb8e8f549495a7543dd92b
../src/jeden.c: In function ‘main’:
../src/jeden.c:18:2: warning: implicit declaration of function ‘pow’ [-Wimplicit-function-declaration]
../src/jeden.c:18:4: warning: incompatible implicit declaration of built-in function ‘pow’ [enabled by default]
../src/jeden.c:17:8: warning: variable ‘y’ set but not used [-Wunused-but-set-variable]
../src/jeden.c:18:7: warning: ‘x’ is used uninitialized in this function [-Wuninitialized]
COLLECT_GCC_OPTIONS='-O0' '-g3' '-Wall' '-c' '-fmessage-length=0' '-v' '-MMD' '-MP' '-MF' 'src/jeden.d' '-MT' 'src/jeden.d' '-o' 'src/jeden.o' '-mtune=generic' '-march=x86-64'
as --64 -o src/jeden.o /tmp/ccypD3Qu.s
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-O0' '-g3' '-Wall' '-c' '-fmessage-length=0' '-v' '-MMD' '-MP' '-MF' 'src/jeden.d' '-MT' 'src/jeden.d' '-o' 'src/jeden.o' '-mtune=generic' '-march=x86-64'
./src/jeden.o: In function `main':
/home/wolf/workspace/jeden/Debug/../src/jeden.c:18: undefined reference to `pow'
collect2: ld returned 1 exit status
make: *** [jeden] Błąd 1
**** Build Finished ****
no i samo źródło czysto testowe.
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
int main(void) {
puts("!!!Hello World!!!\n"); /* prints !!!Hello World!!! */
float x;
float y;
y=pow(x, 0.3);
printf("%f", x);
return EXIT_SUCCESS;
}
P.S
. Nie ma math.h - wiem ale nie to stanowi przyczynę problemu
.