使用预处理器指令定义输出路径
Posted
技术标签:
【中文标题】使用预处理器指令定义输出路径【英文标题】:Using preprocessor directives to define the output path 【发布时间】:2010-05-15 21:34:29 【问题描述】:使用如下伪代码:
#define BUILD_PATH "C:/MyBuild/"
#define BUILD_NAME "mydll.dll"
// Set build path here
表示我想如何将当前项目(一个 dll)构建到 C:/MyBuild/mydll.dll 中,我将如何仅使用预处理器指令来完成此操作?
【问题讨论】:
您的意思是链接中的“构建”吗?您想使用预处理器链接 dll 吗?嗯?或者你只是想连接两个令牌?使用这个:const char path[] = BUILD_PATH BUILD_NAME;
你为什么要使用预处理器? #define 被认为是有害的。使用简单的const char[]
。
我的意思是,使用预处理器指令来设置属性页 -> 配置属性 -> 链接器 -> 常规 -> 输出文件的等效项。如果我可以从 CPP 脚本设置环境变量,我想这可以通过相同的方式完成。
Sniff 你也可以给我点赞:D
我刚刚发现我有足够的积分来做到这一点:D
【参考方案1】:
我可能会误解,但我真的不明白你为什么要这样做,但它是可行的:
#pragma comment( linker, "/out:c:\mydll.dll" )
我无法准确地重复你有多不想这样做......
如果你想通过预处理器信息获取输出路径,恐怕......你不能。该信息来自预处理器之后的几个步骤,因此预处理器无法获取该信息。
【讨论】:
用作小项目模板的配置文件。我敢肯定,这是一种非常值得怀疑的方式,但是对于我分发它的受众,我觉得他们会喜欢在主文件中设置所有这些信息,而不是每次都翻阅属性页来设置链接器信息他们复制并粘贴模板。以上是关于使用预处理器指令定义输出路径的主要内容,如果未能解决你的问题,请参考以下文章