c++ - libconfig 不是静态链接。如何编译成程序

标签 c++ unix gcc config libconfig

我使用 libconfig 下载存档,但我不会将其安装到系统中。我想将它编译为静态库并从程序目录链接它或直接将它链接到我的程序在程序编译时

关于如何使用 Makefile 执行此操作的任何想法? (FreeBSD(UNIX),海湾合作委员会) 或者建议其他支持编译到程序中的 unix 配置库。

最佳答案

在linux系统上解压然后配置和制作:

> ls
libconfig-1.4.8.tar.gz
> tar -zxvf libconfig-1.4.8.tar.gz
> cd libconfig-1.4.8
> ./configure prefix=/somewhere/in/your/homedir/doesnotmatter
> make
> ls -al lib/.libs
libconfig.a
libconfig++.a
...
other versions of lib

然后将您的应用程序链接到静态 .a 库。

gcc -I/dir/with/libconfigheader -o yourapp main.cpp libconfig.a

如果你不执行make install,它将不会被安装,库将在输出目录中,你可以将它们复制到你需要的地方。

希望对您有所帮助。

注意我没有尝试使用这个库,我只是下载并编译了它......

关于c++ - libconfig 不是静态链接。如何编译成程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10020500/

相关文章:

c++ - 在 tbb 中回收 parent 作为 child

c++ - 大集合的第 n 个或任意组合

c++ - float 的散列函数

Windows 等效于 Unix find 命令以搜索多种文件类型

multithreading - 不稳定的__thread,毫无意义?

c++ - 编译器如何区分 std::vector 的构造函数?

linux - 当特定单词至少出现在特定行数时从文件夹中查找文件

linux - 期望命令 - Unix

c++ - 在大型 C/C++ 项目的编译时使用 GNU m4

c - -wrap 选项的 GNU 链接器通配符