Fatal error LNK1181: cannot open input file 'C:\Program.obj' when building with NMake with Visual-Studio 2019 using CMake for a Qt5 project

0

I have a simple Qt5 5.13.0 hello world project, whose Makefile I generate with CMake 3.15.2. Then, I use NMake in the Developer Command Prompt for VS 2019. I successfully generate the Makefiles with cmake -G "NMake Makefiles" .. in a build directory that I created in source. Then when I build with nmake, I get the error in the linking stage.

I am also using the Boost and Eigen libraries, but I only started seeing this issue when I tried to incorporate Qt5 into my project.

Other answers mention that this issue may be caused by spaces in the directory names. However, my top-level CMakeLists.txt is located at Z:\, and I'm building in Z:\build. My compiled static qtbase module (built from source) is in Z:\lib\qt. None of these have spaces, so I'm not sure what's causing the issue.

The relevant parts of the top-level CMakeLists.txt that involve Qt5 are as shown:

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_PREFIX_PATH $ENV{Qt5_DIR})
find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets)
if(Qt5_FOUND)
    message(STATUS "Qt5 FOUND")
endif()

add_subdirectory(src)

Then, in the src subdirectory, I have another CMakeLists.txt file:

include_directories(${PROJECT_BINARY_DIR}/include)
add_executable(testProject helloworld.cpp)
target_link_libraries(testProject ${Boost_LIBRARIES} Qt5::Core Qt5::Gui Qt5::Widgets)

I have the Qt5_DIR environment variable set as Z:\lib\qt.

After I generate the Makefile, I run nmake, and then I see the following errors:

Scanning dependencies of target testProject_autogen
[ 25%] Automatic MOC and UIC for target testProject
[ 25%] Built target testProject_autogen
Scanning dependencies of target testProject
[ 50%] Building CXX object src/CMakeFiles/testProject.dir/testProject_autogen/mocs_compilation.cpp.obj
mocs_compilation.cpp
[ 75%] Building CXX object src/CMakeFiles/testProject.dir/helloworld.cpp.obj
helloworld.cpp
[100%] Linking CXX executable testProject.exe
LINK: command "C:\PROGRA~2\MIB055~1\2019\COMMUN~1\VC\Tools\MSVC\1422~1.279\bin\Hostx86\x86\link.exe /nologo @CMakeFiles\testProject.dir\objects1.rsp /out:testProject.exe /implib:testProject.lib /pdb:Z:\build\src\testProject.pdb /version:0.0 /machine:X86 /INCREMENTAL:NO /subsystem:console C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\mpr.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\netapi32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\userenv.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\version.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\ws2_32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\kernel32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\user32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\shell32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\uuid.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\ole32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\advapi32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\winmm.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\mpr.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\netapi32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\userenv.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\version.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\ws2_32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\kernel32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\user32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\shell32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\uuid.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\ole32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\advapi32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\winmm.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\mpr.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\netapi32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\userenv.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\version.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\ws2_32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\kernel32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\user32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\shell32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\uuid.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\ole32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\advapi32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\winmm.lib gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib uuid.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib uuid.lib user32.lib advapi32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\mpr.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\netapi32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\userenv.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\version.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\ws2_32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\kernel32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\user32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\shell32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\uuid.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\ole32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\advapi32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\winmm.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\shell32.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\uxtheme.lib C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x86\dwmapi.lib gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib uuid.lib user32.lib advapi32.lib ..\..\lib\boost\stage\lib\libboost_filesystem-vc142-mt-x32-1_70.lib ..\..\lib\qt\lib\Qt5Core.lib ..\..\lib\qt\lib\Qt5Gui.lib ..\..\lib\qt\lib\Qt5Widgets.lib ..\..\lib\qt\lib\Qt5Gui.lib ..\..\lib\qt\lib\Qt5Core.lib ..\..\lib\qt\lib\Qt5Gui.lib ..\..\lib\qt\lib\qtlibpng.lib ..\..\lib\qt\lib\Qt5Core.lib ..\..\lib\qt\lib\qtpcre2.lib ..\..\lib\qt\lib\qtharfbuzz.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:testProject.exe.manifest" failed (exit code 1181) with the following output:
LINK : fatal error LNK1181: cannot open input file 'C:\Program.obj'
NMAKE : fatal error U1077: '"C:\Program Files\CMake\bin\cmake.exe"' : return code '0xffffffff'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\bin\HostX86\x86\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\bin\HostX86\x86\nmake.exe"' : return code '0x2'
Stop.

Is there an error in my CMakeLists.txt files, my Qt5 libraries, or somewhere else?

c++
visual-studio
cmake
qt5
nmake
asked on Stack Overflow Aug 14, 2019 by sunji

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0