我正在尝试使用gcc和使用Mac上的终端的ssh在Ubuntu服务器上使用静态库和头文件编译main.c
。我上传了库文件并使用-L选项指定它,并使用-I选项指定了头文件。
我尝试使用:
gcc main.c -L/Libraries/lib/libRNA.a -lRNA -ILibraries/include/ViennaRNA
它出来了:
/ usr / bin / ld:找不到-lRNA
collect2:错误:ld返回1退出状态
答案 0 :(得分:1)
http://peek.solutions/confirmation.html
期望一个目录作为参数。你传递了图书馆的名字。
只是做:
-L
或直接与gcc main.c -L/Libraries/lib -lRNA -ILibraries/include/ViennaRNA
文件的绝对路径链接:
.a
答案 1 :(得分:1)
-L
选项指定库文件所在的目录。
答案 2 :(得分:0)
-L
的{{1}}选项(实际传递给gcc
)期待目录(其中ld
个选项更多seeked)。
-l
选项期望包含包含头文件的目录。
所以你想要
-I
您确实希望所有警告( gcc -Wall -g main.c -L/Libraries/lib/ -lRNA -ILibraries/include/ViennaRNA
)和调试信息(-Wall
)能够使用-g
调试器。