Visual C++ - Linux 프로젝트 빌드 오류
리눅스 프로젝트를 빌드하는 경우 이렇게만 오류 메시지가 나온다면?
1>C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Application Type\Linux\1.0\Linux.WSL.targets(318,5): error : g++ exited with code 1, please see the Output Window - Build output for more details (NOTE: the build output verbosity might need to be changed in Tools Options to see more information in the Output Window).
1>Done building project "ConsoleApplication2.vcxproj" -- FAILED.
"Build And Run" 설정에 들어가 "MSBuild project build output verbosity" 항목을 "Normal"로 설정하고 재빌드를 합니다. 그럼 더 자세한 오류를 볼 수 있는데요,
1>------ Rebuild All started: Project: ConsoleApplication2, Configuration: Debug x64 ------
1>Build started 2024-07-03 오후 3:11:47.
1>Target _PrepareForClean:
...[생략]...
1> Compiling sources:
1> g++ -c -x c++ /home/testusr/projects/ConsoleApplication2/main.cpp -g2 -gdwarf-2 -o "/home/testusr/projects/ConsoleApplication2/obj/x64/Debug/main.o" -Wall -Wswitch -W"no-deprecated-declarations" -W"empty-body" -Wconversion -W"return-type" -Wparentheses -W"no-format" -Wuninitialized -W"unreachable-code" -W"unused-function" -W"unused-value" -W"unused-variable" -O0 -fno-strict-aliasing -fno-omit-frame-pointer -fthreadsafe-statics -fexceptions -frtti -std=c++11
1> main.cpp
...[생략]...
1> Done compiling '/home/testusr/projects/ConsoleApplication2/main.cpp'
1> -bash: line 4: g++: command not found-bash: line 4: g++: command not found
1>Done building target "ClCompile" in project "ConsoleApplication2.vcxproj" -- FAILED.
1>
...[생략]...
저렇게 "g++: command not found-bash: line 4: g++: command not found" 메시지가 나옵니다. 그럼, 당연히 설치를 해야겠죠? ^^
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install build-essential gdb -y
혹은, Output 창을 자세히 보면 원격 리눅스 머신에서 실행하려던 명령어가 그대로 나오는데요, 가령, 위의 경우 g++ 실행을 다음과 같이 하는 중에 오류가 발생한 것입니다.
g++ -c -x c++ /home/testusr/projects/ConsoleApplication2/main.cpp -g2 -gdwarf-2 -o "/home/testusr/projects/ConsoleApplication2/obj/x64/Debug/main.o" -Wall -Wswitch -W"no-deprecated-declarations" -W"empty-body" -Wconversion -W"return-type" -Wparentheses -W"no-format" -Wuninitialized -W"unreachable-code" -W"unused-function" -W"unused-value" -W"unused-variable" -O0 -fno-strict-aliasing -fno-omit-frame-pointer -fthreadsafe-statics -fexceptions -frtti -std=c++11
이걸 그대로 복사해 대상 리눅스 머신에서 직접 실행해 보면, 오류 메시지가 출력될 것이고 그에 따른 조치를 취해주시면 됩니다. ^^
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]