-
我今天测试 add_configfiles 有些疑问 xmake.lua add_rules("mode.debug", "mode.release")
set_configvar("MYVERSION", 22)
target("test_xmake")
set_kind("binary")
add_files("src/*.cpp")
add_configfiles("src/version.h.in", {pattern = "@(.-)@"}) make.cpp #include <iostream>
#include "version.h"
using namespace std;
int main(int argc, char** argv)
{
cout << "hello world!" << endl;
return 0;
} version.h.in #define MYVERSION @MYVERSION@ 发现可以成功生成 build/version.h 文件,但是编译失败,提示:
疑问add_configfiles 生成的文件不会自动加入到include文件列表吗?如果设定如此,那么应该如何达成这样的目的? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 3 replies
-
看下文档,有详细说明,指定下输出目录 https://xmake.io/#/zh-cn/manual/project_target?id=targetadd_configfiles |
Beta Was this translation helpful? Give feedback.
-
好的,可以设定目录后,的确可以解决问题。 我刚刚又修改了一下version.h.in,增加了一行用来测试pattern,疑似有bug //@mail.163 ,这里是新增的行,不应该按照pattern替换
#define MYVERSION @MYVERSION@ 执行报错
这里错误地将 @mail.163 按照pattern解释了 |
Beta Was this translation helpful? Give feedback.
-
我理解是,它是匹配到了 @mail.163,但是理应匹配不出来才对,我用正则测试工具去测试,也是匹配不出来的。 |
Beta Was this translation helpful? Give feedback.
-
改了之后的确可以成功生成了。 然后刚刚我又做了一个新的测试,我主动将生成的 version.h 文件删掉, |
Beta Was this translation helpful? Give feedback.
看下文档,有详细说明,指定下输出目录
https://xmake.io/#/zh-cn/manual/project_target?id=targetadd_configfiles