Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Zainstalowałem teraz eclipse'a i mam problem. Dodałem parametr -lm jednak dalej mam niezadeklarowaną referencje.
Oto co wypluło mi IDE:
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.
#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", y);
return EXIT_SUCCESS;
}Ostatnio edytowany przez wolf91 (2011-10-25 12:42:15)
Offline



Administrator




math.h brakuje.
Offline
Faktycznie swoją drogą go brakuje:)
**** Build of configuration Debug for project jeden **** make all Building target: jeden Invoking: GCC C Linker gcc -o "jeden" ./src/jeden.o ./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 ****
z tego co widzę chodź nie wiem czy dobrze rozumiem, eclipse dodaje tylko parametr o jednak w parametrach mam ustawione:
-O0 -g3 -Wall -c -fmessage-length=0 -lm
Offline



Też człowiek :-)




Manual GCC napisał(-a):
-c Compile or assemble the source files, but do not link. The linking stage simply is not done. The ultimate output is in the form of an object file for each source file.
Poza tym do zmiennej "x" nie jest nic przypisane. A w pow() używasz x'a.
EDIT:
Spróbuj bezpośrednio z konsoli wywołać gcc
gcc plik.c -o plik.out -lm
Ostatnio edytowany przez Piotr3ks (2011-10-25 13:36:39)
Offline

ja mam to wszystko włączone, tylko nie wiem dlaczego nie korzysta z tego z przy kompilacji - x'sa poprawiłem.
Offline
w terminalu wszystko działa. Wysłałem screna że przełączniki mam ustawione, a mimo tego ich nie uzywa....
Offline



Administrator




Masz opcję edytowania postów, raczej unikaj pisania jednego po drugim.
Offline



inż.
-lm dodaj do linkera nie kompilatora
Offline
@kamikaze Przepraszam:)
@milyges - dzięki, masz racje. Dodałem tą flagę do linkera i wszystko zaczęło działać:)
Offline