利用Visual Studio除錯WSL下的C++工程

非法关键字發表於2024-10-17

這裡寫了一個基於Qt5的控制檯的小程式碼:

#include <QCoreApplication>
#include <QDebug>

int main(int argc, char** argv)
{
	QCoreApplication a(argc, argv);

    qDebug() << "Application started";
    int testValue = 42;
    qDebug() << "Test value:" << testValue;

	return a.exec();
}

工程使用了CMake工程:

cmake_minimum_required(VERSION 3.15)

project(WSLwithVS)

set(CMAKE_AUTOMOC ON)

find_package(QT NAMES Qt5 Qt6)
find_package(Qt${QT_VERSION_MAJOR} CONFIG COMPONENTS Core REQUIRED)

add_executable(WSLwithVS main.cpp)

target_link_libraries(WSLwithVS Qt${QT_VERSION_MAJOR}::Core)

確保WSL裡面有編譯器、Ninja、gdb、qtbase5-dev和常用的中文字型fonts-wqy-zenhei、fonts-wqy-microhei

sudo apt install gcc g++ ninja-build cmake gdb qtbase5-dev fonts-wqy-zenhei fonts-wqy-microhei

開始編譯除錯

  1. 右鍵點選CMakeLists.txt檔案,選擇配置"WSLwithVS"

    我這裡遇到一點小問題在1> CMake 生成完畢列出現了錯誤,我暫時的解決方法:

    cd ~/.vs/WSLwithVS
    ninja -C out/build/
    
  2. 在使用ninjia生成完畢後重復步驟1,

    1> 已為配置“Qt-Debug”啟動 CMake 生成。
    1> 在 /usr/bin/cmake 上找到 cmake 可執行檔案。
    1> /usr/bin/cmake -G "Ninja"   -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_CXX_FLAGS:STRING="-DQT_QML_DEBUG"   /home/lxy/.vs/WSLwithVS/CMakeLists.txt;
    1> [CMake] -- Configuring done
    1> [CMake] -- Generating done
    1> [CMake] -- Build files have been written to: /home/lxy/.vs/WSLwithVS/out/build
    1> [CMake] 
    1> 已提取 CMake 變數。
    1> 已提取原始檔和標頭。
    1> 已提取程式碼模型。
    1> 已提取包含路徑。
    1> CMake 生成完畢。
    
  3. 設定斷點、啟動除錯

相關文章