我一直在 linux 中运行 ns3 求和,每次编译我都必须输入
g++ -Wall -o simulacija simulacija.cc -DNS3_ASSERT_ENABLE -DNS3_LOG_ENABLE `pkg-config --libs --cflags
libns3.16-core-debug libns3.16-network-debug libns3.16-applications-debug libns3.16-internet-debug
libns3.16-point-to-point-debug libns3.16-point-to-point-layout-debug libns3.16-csma-debug
libns3.16-csma-layout-debug libns3.16-topology-read-debug libns3.16-wifi-debug`
有没有办法将标志缩短为例如:
g++ -Wall simulacija.cc -o simulacija -my_params
谢谢
最佳答案
GCC 编译器支持使用 @
符号在文件中嵌入一系列参数。阅读接近尾声的 GCC overall options页面。
所以你可以在一些文件 params.args
中放入以下几行
-Wall
-I /usr/local
-DNS3_ASSERT_ENABLE
-DNS3_LOG_ENABLE
-O
然后调用
g++ @params.args simulacija.cc -o simulacija
您可以使用Makefile
规则来构建params.args
(例如使用pkg-config
等...)
其实是时候学习如何使用GNU make了.
请注意 @
选项不被其他一些编译器理解,例如 GCC 处理它。
关于linux - 用一个较短的交换 unix 编译器标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16118646/