我只是尝试构建我用CMake制作的CommonAPI-DBUS视觉工作室解决方案。
构建失败,并给我错误:
Fehler 1错误D8004:“ / wd” erfordert ein参数。 D:\ Programmieren \ cplusplus \ commonapi \ common-api-dbus-runtime \ build \ cl CommonAPI-DBus
这是CommonAPI-DBUS.log:
Der Buildvorgang wurde am 07.09.2016 09:20:59 gestartet.
1>Projekt "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\build\CommonAPI-DBus.vcxproj" auf Knoten "2", Build Ziel(e).
1>ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\CL.exe /c /I"D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\include" /I"D:\Programmieren\cplusplus\commonapi\common-api-runtime\include" /I"D:\Programmieren\cplusplus\commonapi\dbus-1.10.10" /I"D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\\\"D:\Programmieren\cplusplus\commonapi\dbus-1.10.10\cmake\build\"" /Zi /nologo /W3 /WX- /Od /Ob0 /D WIN32 /D _WINDOWS /D _CRT_SECURE_NO_WARNINGS /D COMMONAPI_INTERNAL_COMPILATION /D COMMONAPI_DLL_COMPILATION /D _DEBUG /D COMMONAPI_DBUS_VERSION_MAJOR=3 /D COMMONAPI_DBUS_VERSION_MINOR=1 /D "CMAKE_INTDIR=\"Debug\"" /D CommonAPI_DBus_EXPORTS /D _WINDLL /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"CommonAPI-DBus.dir\Debug\\" /Fd"CommonAPI-DBus.dir\Debug\vc120.pdb" /Gd /TP /wd"///;4503///" /errorReport:prompt "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusAddress.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusAddressTranslator.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusClientId.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusConnection.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusDaemonProxy.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusError.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusFactory.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusFreedesktopPropertiesStub.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusFunctionalHash.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusInputStream.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusMainLoop.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusMainLoopContext.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusMessage.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusObjectManager.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusObjectManagerStub.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusOutputStream.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusProxy.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusProxyBase.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusProxyManager.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusServiceRegistry.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\CommonAPI\DBus\DBusStubAdapter.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\pugixml\pugixml.cpp" "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\src\murmurhash\MurmurHash3.cpp"
1>cl : Befehlszeile error D8004: "/wd" erfordert ein Argument.
1>Die Erstellung des Projekts "D:\Programmieren\cplusplus\commonapi\common-api-dbus-runtime\build\CommonAPI-DBus.vcxproj" ist abgeschlossen, Build Ziel(e) -- FEHLER.
Fehler beim Buildvorgang.
Verstrichene Zeit 00:00:00.35
要为您翻译,它会说:命令行错误D8004:“ / wd”需要一个参数。我对CommonAPI-DBUS项目没有更深入的了解。我只是尝试构建它,以便可以将其用于Some / IP项目。
我必须在哪里寻找解决方案或在项目中找到此错误?
最佳答案
我只是解决了我自己产生的问题。
在我的CMakeLists.txt中是以下代码:
if (MSVC)
# Visual C++ is not always sure whether he is really C++
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS -
DCOMMONAPI_INTERNAL_COMPILATION -DCOMMONAPI_DLL_COMPILATION /EHsc
/wd\\\"4503\\\"")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -
DCOMMONAPI_INTERNAL_COMPILATION -DCOMMONAPI_DLL_COMPILATION
/wd\\\"4503\\\"")
最后一行是代码
/wd\\\"4503"\\\
我不小心将\更改为/,并由我自己产生了此错误。因此,命令行无法识别该命令。