在Visual Studio .rc文件中使用$(OutDir)

时间:2016-11-05 19:54:53

标签: c++ visual-studio embedded-resource

在Visual Studio C ++项目的.rc文件中,有两个包含使用相对路径指定的源的程序集。相反,我想指定这些相对于输出目录。

以下是我的开始:

#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#ifdef _DEBUG
EXCELDNA.LOADER         ASSEMBLY                "..\\ExcelDna.Loader\\bin\\Debug\\ExcelDna.Loader.dll"
EXCELDNA.INTEGRATION    ASSEMBLY                "..\\ExcelDna.Integration\\bin\\Debug\\ExcelDna.Integration.dll"
#else
EXCELDNA.LOADER         ASSEMBLY                "..\\ExcelDna.Loader\\bin\\Release\\ExcelDna.Loader.dll"
EXCELDNA.INTEGRATION    ASSEMBLY                "..\\ExcelDna.Integration\\bin\\Release\\ExcelDna.Integration.dll"
#endif

/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

我尝试在属性→C / C ++→预处理器中定义引用$(OutDir)的宏:

EXCELDNA_INTEGRATION_PATH "$(OutDir)ExcelDna.Integration.dll"
EXCELDNA_LOADER_PATH "$(OutDir)ExcelDna.Loader.dll"

然后用以下内容替换该部分:

#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
EXCELDNA.LOADER         ASSEMBLY   EXCELDNA_LOADER_PATH
EXCELDNA.INTEGRATION    ASSEMBLY   EXCELDNA_INTEGRATION_PATH
/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

但这只会导致编译错误:

Error   RC2135  file not found: EXCELDNA_INTEGRATION_PATH
Error   RC2135  file not found: EXCELDNA_LOADER_PATH

这样做的正确方法是什么?它甚至可能吗?

0 个答案:

没有答案