我正在尝试使用Mac上的终端使用gcc和ssh在Ubuntu服务器上编译带有静态库和头文件的main.c
。我上传了库文件并使用 -L 选项指定它,并使用 -I 选项指定头文件。
我尝试使用:
gcc main.c -L/Libraries/lib/libRNA.a -lRNA -ILibraries/include/ViennaRNA
它出来了:
/usr/bin/ld: cannot find -lRNA
collect2: error: ld returned 1 exit status
最佳答案
-L
需要一个目录作为参数。您正在传递库的名称。
就这样做:
gcc main.c -L/Libraries/lib -lRNA -ILibraries/include/ViennaRNA
或者直接链接到.a
文件的绝对路径:
gcc main.c /Libraries/lib/libRNA.a -ILibraries/include/ViennaRNA
关于即使指定了 -L 路径,GCC 仍继续显示 "/usr/bin/ld: cannot find",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41078178/