编译器找不到头文件中声明的函数
Compiler not finding functions declared in header file
我需要一些帮助来理解为什么这不起作用。我有一个 .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 --
链接器错误,找不到libnavApi.so
g++ test.cpp -lnavApi
如果 libnavApi.so
位于 g++
知道的路径中, 可能会起作用。
我需要一些帮助来理解为什么这不起作用。我有一个 .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 --
链接器错误,找不到libnavApi.so
g++ test.cpp -lnavApi
如果 libnavApi.so
位于 g++
知道的路径中,可能会起作用。