在这个线程中
有人说CFLAGS和LDFLAGS并不适用于每个配置脚本。为什么?我希望对此有更多的解释,而不仅仅是声明;)在什么情况下可以工作,在什么情况下不可以?原因是什么?
他(公认的答案)还提到,您应该使用CPATH和LIBRARY_PATH来代替。CFLAGS和CPATH有什么区别?同样,LDFLAGS和LIBRARY_PATH之间的区别是什么?
最后一个问题:当我使用LDFLAGS =任何东西时,我不是覆盖了之前可能由开发人员自己制定的LDFLAGS定义吗?语法不应该是./configure LDFLAGS+=/myPath吗?
发布于 2016-01-29 11:49:24
CFLAGS/LDFLAGS由./configure使用,CPATH/LIBRARY_PATH由GCC/MinGW编译器/链接器使用。如果./configure写得很好,它首先从环境中获取CFLAGS/LDFLAGS,然后再附加任何路径到它并调用编译器/链接器。在这种情况下,您可以使用
CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure现代的./configure可以接受CFLAGS/LDFLAGS作为参数
./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"但是,如果./configure很穷或很老,只有CPATH/LIBRARY_PATH可以提供帮助
CPATH=/usr/local/include LIBRARY_PATH=/usr/local/lib ./configure
CPATH=/usr/local/include LIBRARY_PATH=/usr/local/lib make微软Visual C++编译器的CPATH/LIBRARY_PATH的替代方案是INCLUDE/LIB。
https://stackoverflow.com/questions/31822311
复制相似问题