gpt4 book ai didi

c++ - 为 Windows 7 定义预处理器指令

转载 作者:行者123 更新时间:2023-11-30 03:00:27 26 4
gpt4 key购买 nike

我正在使用 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的宣示权

谢谢

最佳答案

您不想定义自己的宏来检测 Windows 7,请使用 ones provided by Microsoft - 将您的 Win7 专用代码包装在:

#ifdef _WIN32_WINNT_WIN7 
xyz()
#endif

如果你确实创建了自己的,当你想为 Windows 7 编译时你必须定义它,看起来你隐藏了 SelDllDirectory() 函数 - #ifndef 意思是“如果没有定义”所以如果 WIN7 宏没有在任何地方定义,那么你就得到了那个功能。

关于c++ - 为 Windows 7 定义预处理器指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12052058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com