我需要一些帮助来理解为什么这不起作用。我有一个.h文件,声明了.so文件中定义的函数:
/* navApi.h */
void navApi_init(); /* resides in libNavApi.so */
和.cpp文件:
/* test.cpp */
#include <iostream>
#include "navApi.h"
int main(void)
{
std::cout << "start...\n";
navApi_Init();
}
我编译使用:
g++ test.cpp -navApi
我收到以下错误:
test.cpp: (.txt+0x1e): undefined reference to `navApi_Init()'
collect2: error: ld returned 1 exit status
- 在linux上运行,ubuntu -
答案 0 :(得分:1)
这是一个链接器错误,没有找到libnavApi.so
g++ test.cpp -lnavApi
如果libnavApi.so
位于g++
知道的路径中,可能有效。