如何在简单的 cpp 文件中查找没有 cmake 的包和 link 库?

How to find package and link library without cmake in simple cpp file?

文件名:main.cpp

#include<iostream>
#include"boolector.h"

using namespace std;
int main()
{
Btor* btor=boolector_new();
cout<<"hello world";
boolector_delete(btor);
}

如果我不想制作 CMake 项目,只是一个 C++ 文件,但仍想 link CMake 中的库怎么办?

我想要等同于在 g++ 中跟随(在 CmakeLists.txt 中)。

find_package(Boolector)
target_link_library(project_name Boolector::boolector)

可在 Text 找到文档。

/usr/local/bin/boolector 
/usr/local/include/boolector
/usr/local/include/boolector/boolector.h
/usr/local/include/boolector/btortypes.h
/usr/local/lib/libboolector.a
/usr/local/lib/libboolector.so

locate boolector 的结果

/usr/local/lib/cmake/Boolector
/usr/local/lib/cmake/Boolector/BoolectorConfig.cmake
/usr/local/lib/cmake/Boolector/BoolectorConfigVersion.cmake
/usr/local/lib/cmake/Boolector/BoolectorTargets-release.cmake
/usr/local/lib/cmake/Boolector/BoolectorTargets.cmake

locate Boolector 的结果

我正在使用 CentOS。

您可以使用 g++-l-L-I 选项,例如:

g++ -L /usr/local/lib/ -lboolector -I /usr/local/include/boolector main.cpp -o main
  • -l选项用于设置要链接的库名
  • -L选项用于设置要链接的库必须搜索的路径
  • -I选项用于设置库头文件所在的路径

要 运行 可执行文件,您需要确保库在 LD_LIBRARY_PATH 环境变量中。

export LD_LIBRARY_PATH=$LD_LIBARY_PATH:/usr/local/lib
./main