c++ - 使用 autotools 和附加编译器标志编译库

标签 c++ makefile gdal

我正在构建库 gdal-1.9.2。启动 ./configure 命令后,make 失败并出现错误

ISO C++ forbids comparison between pointer and integer [-fpermissive]

如果我在控制台中使用附加选项 -fpermissive 启动最后一个失败的命令,它会成功完成(有警告,而不是错误)。

g++ -g -O2 -Wall -DOGR_ENABLED -I/home/unona/unona-pult/gdal-1.9.2/port -DHAVE_LIBZ -fpermissive -c cplkeywordparser.cpp  -fPIC -DPIC -o .libs/cplkeywordparser.o

现在如何完成构建过程?只是 make 重建它并以同样的方式崩溃。

最佳答案

对于 autotools 构建,您可以期望 ./configure 脚本检查通过环境变量设置的编译器标志(通常也支持命令行选项,但它们不那么容易内存,恕我直言)。这些变量的名称是标准名称,在您的情况下,它应该是

CXXFLAGS="-fpermissive" ./configure

make install

配置脚本生成 makefile,以便在构建时将 CXXFLAGS 的值传递给编译器。

关于c++ - 使用 autotools 和附加编译器标志编译库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52380268/

相关文章:

python - 如何使用 Homebrew 在 MacOS 上安装 GDAL?

c++ - 如何使用 CMake 在链接命令行的末尾添加标志?

linux - 如何理解这个 SWI-Prolog makefile - Linux 可执行文件是如何创建的?

c++ - 将指针或引用传递给派生类,以便调用基类方法

c++ - 运行 make 时附加编译器标志

c - 如何在 Makefile 中创建对 .o 文件的引用

python - GDAL:获取底层 C 对象的指针/句柄

python - 使用 matplotlib basemap 绘制 .tif GDAL 栅格

c++ - 为什么 ranges::split_view 不是双向范围?

c++ - 检测窗口是否已完成绘制并显示在屏幕上 (WINAPI)