首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为windows 7定义预处理指令

为windows 7定义预处理指令
EN

Stack Overflow用户
提问于 2012-08-21 09:37:12
回答 2查看 948关注 0票数 1

我正在使用SetDllDirectory(),并想知道如何为windows 7、HP 64位定义指令,我想到的是:

在预处理指令中:

代码语言:javascript
复制
 Add WIN7

在.cpp中,我想添加这样的内容

代码语言:javascript
复制
#ifndef WIN7<- where the function is used
SetDllDirectory();
#endif

但是,一旦我添加这些语句,SetDllDirectory就会变成注释。

这是我尝试过的,我在预处理器定义中添加了WIN7,并添加了:

代码语言:javascript
复制
#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的权利吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-08-21 09:43:44

您不希望定义自己的宏来检测Windows7,请使用微软提供的 -只在以下代码中包装您的Win7代码:

代码语言:javascript
复制
#ifdef _WIN32_WINNT_WIN7 
xyz()
#endif

如果您确实创建了自己的函数,则必须在要为Windows7编译时定义它,似乎您隐藏了SelDllDirectory()函数- #ifndef的意思是“如果没有定义”,所以如果WIN7宏没有在任何地方定义,那么您就得到了该函数。

票数 2
EN

Stack Overflow用户

发布于 2012-08-21 09:41:47

_WIN32_WINNT怎么样?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12052058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档