在编译使用套接字的简单Netbeans C项目时,我得到以下输出。 我认为问题是gcc没有正确链接sockets.h库。 需要一个foolprof方法来解决这个问题。 谢谢我提前
Running "/usr/bin/make -f Makefile CONF=Debug clean" in /export/home/manu/Escritorio/TP-entrega 2/Application_1
/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .clean-conf
rm -f -r build/Debug
rm -f dist/Debug/GNU-Solaris-x86/application_1
Clean successful. Exit value 0.
Running "/usr/bin/make -f Makefile CONF=Debug" in /export/home/manu/Escritorio/TP-entrega 2/Application_1
/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
/usr/bin/make -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Solaris-x86/application_1
mkdir -p build/Debug/GNU-Solaris-x86
rm -f build/Debug/GNU-Solaris-x86/tp2.o.d
gcc -c -g -MMD -MP -MF build/Debug/GNU-Solaris-x86/tp2.o.d -o build/Debug/GNU-Solaris-x86/tp2.o tp2.c
mkdir -p dist/Debug/GNU-Solaris-x86
gcc -o dist/Debug/GNU-Solaris-x86/application_1 build/Debug/GNU-Solaris-x86/tp2.o
Undefined first referenced
symbol in file
bind build/Debug/GNU-Solaris-x86/tp2.o
recv build/Debug/GNU-Solaris-x86/tp2.o
send build/Debug/GNU-Solaris-x86/tp2.o
accept build/Debug/GNU-Solaris-x86/tp2.o
listen build/Debug/GNU-Solaris-x86/tp2.o
socket build/Debug/GNU-Solaris-x86/tp2.o
ld: fatal: Symbol referencing errors. No output written to dist/Debug/GNU-Solaris-x86/application_1
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `dist/Debug/GNU-Solaris-x86/application_1'
Current working directory /export/home/manu/Escritorio/TP-entrega 2/Application_1
*** Error code 1
make: Fatal error: Command failed for target `.build-conf'
Current working directory /export/home/manu/Escritorio/TP-entrega 2/Application_1
*** Error code 1
make: Fatal error: Command failed for target `.build-impl'
Build failed. Exit value 1.
答案 0 :(得分:11)
答案 1 :(得分:4)
您需要确保链接器链接socket
和nsl
库。在命令行中,您将添加-lsocket -lnsl
来执行此操作。我不知道netbeans,也不能告诉你它是如何在那里工作的,但在某处应该有链接器设置,你可以添加这些库。