使用第三方库 (sbpl)
Using a third party library (sbpl)
我在 linux\ubuntu 上构建并安装了一个名为 sbpl 的库。安装后我有以下文件:
usr/local/include/sbpl
(这里有一堆文件,包括一个 headers.h
文件)
usr/local/lib
有一个 libsbpl.so
文件
现在我在编译一个简单的程序时遇到了一些问题:
yus.cpp
#include <iostream>
#include <sbpl/headers.h>
int main()
{
EnvironmentType type;
return 0;
}
使用这些命令编译时出现错误:
$ g++ yus.cpp -Iusr/local/include/sbpl gives the following error
"error: 'EnvironmentType' was not declared in this scope"
$ g++ yus.cpp -L.-lsbpl gives the same error as above
如何正确编译和链接库?
将 enum EnvironmentType
的定义从 main.cpp 移动到 headers.h 然后 运行 g++ yus.cpp -I/usr/local/include -L/usr/local/lib -lsbpl
我在 linux\ubuntu 上构建并安装了一个名为 sbpl 的库。安装后我有以下文件:
usr/local/include/sbpl
(这里有一堆文件,包括一个 headers.h
文件)
usr/local/lib
有一个 libsbpl.so
文件
现在我在编译一个简单的程序时遇到了一些问题:
yus.cpp
#include <iostream>
#include <sbpl/headers.h>
int main()
{
EnvironmentType type;
return 0;
}
使用这些命令编译时出现错误:
$ g++ yus.cpp -Iusr/local/include/sbpl gives the following error
"error: 'EnvironmentType' was not declared in this scope"
$ g++ yus.cpp -L.-lsbpl gives the same error as above
如何正确编译和链接库?
将 enum EnvironmentType
的定义从 main.cpp 移动到 headers.h 然后 运行 g++ yus.cpp -I/usr/local/include -L/usr/local/lib -lsbpl