使用 autotools 和附加编译器标志编译库
Compile library with autotools and an additional compiler flag
我正在建设图书馆 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
的值传递给编译器。
我正在建设图书馆 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
的值传递给编译器。