我正在研究this note。看起来Libtool正在向项目中添加C源文件,这会在某些平台上造成相当大的麻烦。我们认为它导致无法解释的崩溃,如Autools front-end for a C++ library。
C源文件由于多种原因导致问题。首先,我们只查询CXXFLAGS
并设置AM_CXXFLAGS
;我们不会对CFLAGS
或AM_CFLAGS
做任何事情。其次,C文件需要C ++项目中的其他选项,例如GCC下的-frtti
和-fexceptions
以及IBM XL C / C ++编译器下的-qrtti
等选项。我不清楚libtool是否添加了必要的选项。第三,Libtool添加的C源文件在使用Newlib的平台上需要额外的Posix选项,比如Cygwin和MSYS。我们的源文件不需要这些选项。
我想强制Libtool使用C ++而不是C,但是我无法找到一个选项或方法来执行此操作。我认为Libtool使用lt-<some file>.cpp
和CXXFLAGS
而不是lt-<some file>.c
和CFLAGS
的最简单方法是让我无法弄清楚如何做到这一点。< / p>
我们如何告诉Libtool使用C ++而不是C?
相关问题是Message “During startup program terminated with signal SIGKILL” from GDB,但它只要求使用C ++编译器进行功能测试。
答案 0 :(得分:0)
您可以在编译之前将您提到的C编译器选项添加到CFLAGS env var。你知道为什么这不起作用的原因吗?