我正在使用SetDllDirectory()并想知道如何为Windows 7 HP 64位定义指令我想的是这样的:
在预处理程序指令中:
Add WIN7
在.cpp中我想添加类似
的内容#ifndef WIN7<- where the function is used
SetDllDirectory();
#endif
但是只要我添加语句,SetDllDirectory就会被注释。
这是我尝试过的,我在预处理器定义中添加 WIN7 并添加:
#if defined(__WIN7__)
if (regkeyExists) {
if (regkey->HasValue("LibPath")) {
regkey->QueryValue("LibPath", value);
if (!value.empty()) {
wxSetEnv("ABCLib", value);
SetDllDirectory(value.c_str());
}
}
}
SetDllDirectory("C:\\Program Files\\ABC\\ABCProject\\lib");
#endif
这是声明Windows 7的权利吗
由于
答案 0 :(得分:2)
您不想定义自己的宏来检测Windows 7,使用ones provided by Microsoft - 将您的Win7专用代码包装在:
#ifdef _WIN32_WINNT_WIN7
xyz()
#endif
如果你创建了自己的,你必须在想要为Windows 7编译时定义它,似乎你隐藏了SelDllDirectory()函数 - #ifndef意味着“如果没有定义”那么如果WIN7宏不是在任何地方定义,然后你得到那个功能。
答案 1 :(得分:1)