如何解决makefile标志迁移到code :: blocks项目
尝试将标志传递给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 举报,一经查实,本站将立刻删除。