netbeans 在OpenSolaris 2008.11上使用gcc编译时无法解析的符号

rkttyhzu  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(169)

当编译一个使用套接字的简单Netbeans C项目时,我得到了以下输出。我想问题是gcc没有正确链接sockets.h库。需要一个简单的方法来解决这个问题。

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.
ckx4rj1h

ckx4rj1h1#

您需要适当的-l标志。我正在查找它。
对。添加-lsocket。实际上,您可能还需要-lnsl。请参阅此手册页。
在Netbeans中,此选项应位于“项目属性”中.

x7yiwoj4

x7yiwoj42#

你需要确保链接器链接了socketnsl库。在命令行你可以添加-lsocket -lnsl来完成这个任务。我不知道netbeans,也不能告诉你它是如何在那里工作的,但是应该有链接器设置,你可以在那里添加这些库。

相关问题