sqlucode.h头文件的C++ ODBC问题

Dav*_*sky 0 linker odbc visual-c++

我在这里找到了一个很棒的C++/ODBC示例......

我下载的项目构建很好,一切正常.但是,当我将.cpp和.h文件复制到另一个项目时,我似乎有一个链接问题.

SQLConnect在sql.h功能是一个我想要的.当我easyodbc.h在我下载的项目中的文件中右键单击此函数时,它会跳转到sql.h中的声明.生活很好.

但是,在我创建的项目中,当我这样做时,它跳转到sqlucode.h中的UNICODE定义.这似乎导致了问题,我的测试项目崩溃了.

#include在项目的任何地方都没有sqlucdode.h,但它仍然将声明解析为sqlucode.h中的声明.我怎么能阻止这个?谢谢.

sno*_*h09 5

好像你有预处理器问题而不是链接问题.

您可能在项目文件中有UNICODE(或_UNICODE)预处理器定义.在Visual C++ 2005和2008中,您可以通过转到项目属性并将" 使用Unicode字符集"中的" 字符集"更改为" 使用多字节字符集"来解决此问题.应用此设置时,Visual Studio会为您修复正确的预处理器和链接器设置.

如果您的Visual Studio的早期版本,你仍然可以通过改变预处理器定义为解决这个问题UNICODE,并_UNICODE_MBCS-它只是你必须自己去找他们.

编辑:我刚刚下载了示例代码并尝试了 - 好消息,正如我猜测的那样,更改为多字节字符集,你会没事的.