问题描述
尝试将标志传递给Makefile中的代码。问题是标志是定义为VERSION的字符串:
CC = g++
CFLAGS = -g -Wall -DVERSION="2.0.0.0"
default: ver
ver: main.o
$(CC) $(CFLAGS) -o ver main.o
main.o: main.cpp
$(CC) $(CFLAGS) -c main.cpp
clean:
$(RM) ver *.o *~
代码非常简单。它是main.cpp,如下所示:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world! VERSION = " << VERSION << endl;
return 0;
}
编译并运行它没有问题。
make; ./ver
现在,我尝试在code:blocks项目中执行相同的操作。 在“项目”->“编译器设置”->“#定义”字段中,添加此
VERSION="\"2.0.0.0\""
或在“项目”->“编译器设置”->“其他选项”字段中添加
-DVERSION="\"2.0.0.0\""
然后编译它。我收到如下错误消息:
“错误:数字中的小数点太多” 有问题的代码是std :: out:
cout << "Hello world! VERSION = " << VERSION << endl;
我还尝试了其他方法,但没有一种方法可以工作,例如以下一种方法:
-DVERSION='\"2.0.0.0\"'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)