【发布时间】:2016-06-09 18:38:24
【问题描述】:
我有一个需要与我的应用程序链接的库。代码是用 Visual Studio 2015 编写的,我没有库的源代码。它是一家公司提供给我的,用于将库编译到我的应用程序中,以便我可以与他们的硬件进行交互。
在添加头文件 intellisense 后,我会遇到一堆错误。 see this image
这里真的需要一些帮助。
下面是我做的一些配置。
- 将链接器附加目录添加到我的 .lib 文件路径中。
C:\Users\liang\Documents\Visual Studio 2015\Projects\Safebox\Lib
/OUT:"C:\Users\liang\Documents\Visual Studio 2015\Projects\Safebox\Win32\Debug\Safebox.exe" /MANIFEST /NXCOMPAT /PDB:"C:\Users\liang\Documents\Visual Studio 2015\Projects\Safebox\Win32\Debug\Safebox.pdb" /DYNAMICBASE "qtmaind.lib" "Qt5Cored.lib" "Qt5Guid.lib" "Qt5Sqld.lib" "Qt5Widgetsd.lib" "GmpcFnc.lib" "kernel32. lib” “user32.lib” “gdi32.lib” “winspool.lib” “comdlg32.lib” “advapi32.lib” “shell32.lib” “ole32.lib” “oleaut32.lib” “uuid.lib” “odbc32. lib" "odbccp32.lib" /MACHINE:X86 /SAFESEH /PGD:"C:\Users\liang\Documents\Visual Studio 2015\Projects\Safebox\Win32\Debug\Safebox.pgd" /SUBSYSTEM:WINDOWS /MANIFESTUAC:" level='asInvoker' uiAccess='false'" /ManifestFile:"Debug\Safebox.exe.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"D:\Qt\Qt5.6.0\5.6\msvc2015\lib" /LIBPATH:"C:\Users\liang\Documents\Visual Studio 2015\Projects\Safebox\Lib" /TLBID:1
- 将 .lib 文件输入到附加依赖项中。 see this image
- 将额外的包含目录添加到头文件中。
C:\Users\liang\Documents\Visual Studio 2015\Projects\/GS /analyze- /W1 /Zc:wchar_t /I".\GeneratedFiles" /I"." /I"D:\Qt\Qt5.6.0\5.6\msvc2015\include" /I".\GeneratedFiles\Debug" /I"D:\Qt\Qt5.6.0\5.6\msvc2015\include\QtCore" /I" D:\Qt\Qt5.6.0\5.6\msvc2015\include\QtGui" /I"D:\Qt\Qt5.6.0\5.6\msvc2015\include\QtSql" /I"D:\Qt\Qt5.6.0\5.6 \msvc2015\include\QtPrintSupport" /I"D:\Qt\Qt5.6.0\5.6\msvc2015\include\QtWidgets" /I"**C:\Users\liang\Documents\Visual Studio 2015\Projects**" / Zi /Gm- /Od /Fd"Debug\vc140.pdb" /Zc:inline /fp:precise /D "UNICODE" /D "WIN32" /D "QT_DLL" /D "QT_CORE_LIB" /D "QT_GUI_LIB" /D "QT_SQL_LIB" /D "QT_PRINTSUPPORT_LIB" /D "QT_WIDGETS_LIB" /errorReport:prompt /WX- /Zc:forScope /Gd /Oy- /MDd /Fa"Debug\" /EHsc /nologo /Fo"Debug\" /Fp"调试\Safebox.pch"
4.并添加头文件
#include "../Include/GmpcFnc.h"
谢谢!
【问题讨论】:
-
问题与链接无关。这是源代码中某处的错误,或者可能是项目配置中的错误。
-
"intellisense 给我抛出一堆错误" - intellisense 不是编译器。它抱怨并不意味着代码不会编译。 实际编译器会产生什么错误?
-
这些是构建错误。严重性代码描述项目文件行抑制状态错误 C2146 语法错误:缺少';'在标识符 'SetRdrPort' Safebox c:\users\liang\documents\visual studio 2015\projects\safebox\Include\GmpcFnc.h 36 错误 C4430 缺少类型说明符之前 - 假定为 int。注意:C++ 不支持 default-int Safebox c:\users\liang\documents\visual studio 2015\projects\safebox\Include\GmpcFnc.h 36
-
反正我已经找到解决办法了,这个库是2006~2008年制作的,不包含
库,添加Windows.h后,一切正常。