1
我试图在ubuntu上手动链接外部库与C++。由于这是我的第一个C++项目,我错过了一些基础知识。 这是我的代码(这个尝试连接到传播):如何在Ubuntu上手动链接g ++的库
#include <iostream>
#include <sp.h>
using namespace std;
int main() {
int status;
status = SP_connect("[email protected]", "test1", 0, 0, 0, 0);
cout << "done\n";
return 0;
}
如果我只是尝试,据我了解,我需要链接库
[email protected]:~/thesis$ g++ -o example1 test.cpp
/tmp/cczPLZQ0.o: In function `main':
test.cpp:(.text+0x39): undefined reference to `SP_connect'
collect2: ld returned 1 exit status
运行它,我试着与-l
[email protected]:~/thesis$ g++ -o example1 test.cpp -llibspread
/usr/bin/ld: cannot find -llibspread
collect2: ld returned 1 exit status
我也试过这个(我拍摄黑暗这里)做到这一点:
[email protected]:~/thesis$ g++ -o example1 test.cpp $(pkg-config -cflags /usr/local/lib/libspread) $(pkg-config --libs /usr/local/lib/libspread)
-cflags: unknown option
Package /usr/local/lib/libspread was not found in the pkg-config search path.
Perhaps you should add the directory containing `/usr/local/lib/libspread.pc'
to the PKG_CONFIG_PATH environment variable
No package '/usr/local/lib/libspread' found
/tmp/ccU8GTC2.o: In function `main':
test.cpp:(.text+0x39): undefined reference to `SP_connect'
collect2: ld returned 1 exit status
任何帮助,将不胜感激。
如果.so文件位于标准位置,“-lspread”将是正确的选项。 – Mat 2012-04-15 20:46:17
您应该跳过-llibspread中的lib,只需使用-lspread – gulyan 2012-04-15 20:47:58