【添加】Windows平台配置及CMake调整
This commit is contained in:
19
.vscode/c_cpp_properties.json
vendored
Normal file
19
.vscode/c_cpp_properties.json
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Win32",
|
||||||
|
"includePath": [
|
||||||
|
"${workspaceFolder}/**",
|
||||||
|
"${workspaceFolder}/3rd/**",
|
||||||
|
],
|
||||||
|
"defines": [
|
||||||
|
"_DEBUG",
|
||||||
|
"UNICODE",
|
||||||
|
"_UNICODE"
|
||||||
|
],
|
||||||
|
"compilerPath": "C:\\MinGW\\bin\\gcc.exe",
|
||||||
|
"intelliSenseMode": "windows-gcc-x86"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": 4
|
||||||
|
}
|
||||||
10
.vscode/tasks.json
vendored
10
.vscode/tasks.json
vendored
@@ -11,7 +11,9 @@
|
|||||||
"-build_type",
|
"-build_type",
|
||||||
"Release",
|
"Release",
|
||||||
"-build_and_run",
|
"-build_and_run",
|
||||||
"false"
|
"false",
|
||||||
|
"-platform",
|
||||||
|
"win"
|
||||||
],
|
],
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
@@ -28,11 +30,13 @@
|
|||||||
"command": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
|
"command": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
|
||||||
"args": [
|
"args": [
|
||||||
"-File",
|
"-File",
|
||||||
"${workspaceFolder}\\build.ps1",
|
"${workspaceFolder}\\build-win-app.ps1",
|
||||||
"-build_type",
|
"-build_type",
|
||||||
"Debug",
|
"Debug",
|
||||||
"-build_and_run",
|
"-build_and_run",
|
||||||
"true"
|
"true",
|
||||||
|
"-platform",
|
||||||
|
"win"
|
||||||
],
|
],
|
||||||
"group": {
|
"group": {
|
||||||
"kind": "build",
|
"kind": "build",
|
||||||
|
|||||||
@@ -3,14 +3,19 @@ project(Demo)
|
|||||||
set(CMAKE_CXX_STANDARD 11)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(CMAKE_CXX_COMPILER "MSVC")
|
set(CMAKE_CXX_COMPILER "MSVC")
|
||||||
|
|
||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
set(CMAKE_CXX_COMPILER "g++")
|
set(CMAKE_CXX_COMPILER "g++")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# 指定库链接目录
|
# 根据 platform 值设置 CMake 变量
|
||||||
link_directories(3rd/lib)
|
if(${CMAKE_BUILD_PLATFORM} STREQUAL "win")
|
||||||
|
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/3rd/win/opencv/x64/vc15/lib)
|
||||||
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/3rd/win/opencv/include)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "不支持的平台: ${CMAKE_BUILD_PLATFORM}")
|
||||||
|
endif()
|
||||||
|
|
||||||
include_directories(3rd/include)
|
|
||||||
include_directories(src)
|
include_directories(src)
|
||||||
|
|
||||||
aux_source_directory(./src DIR_SRCS)
|
aux_source_directory(./src DIR_SRCS)
|
||||||
@@ -19,8 +24,8 @@ aux_source_directory(./app DIR_SRCS)
|
|||||||
|
|
||||||
add_executable(Demo ${DIR_SRCS})
|
add_executable(Demo ${DIR_SRCS})
|
||||||
|
|
||||||
# if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
# target_link_libraries(${PROJECT_NAME} spdlogd-mt-x64.lib)
|
target_link_libraries(${PROJECT_NAME} opencv_world430d)
|
||||||
# else()
|
else()
|
||||||
# target_link_libraries(${PROJECT_NAME} spdlog-mt-x64)
|
target_link_libraries(${PROJECT_NAME} opencv_world430)
|
||||||
# endif()
|
endif()
|
||||||
|
|||||||
@@ -3,7 +3,10 @@ param(
|
|||||||
[string]$build_type,
|
[string]$build_type,
|
||||||
|
|
||||||
[Parameter(Mandatory=$true)]
|
[Parameter(Mandatory=$true)]
|
||||||
[string]$build_and_run
|
[string]$build_and_run,
|
||||||
|
|
||||||
|
[Parameter(Mandatory=$true)]
|
||||||
|
[string]$platform
|
||||||
)
|
)
|
||||||
|
|
||||||
# 定义项目和构建目录的变量
|
# 定义项目和构建目录的变量
|
||||||
@@ -20,11 +23,17 @@ if (-Not (Test-Path -Path $buildDir)) {
|
|||||||
Set-Location -Path $buildDir
|
Set-Location -Path $buildDir
|
||||||
|
|
||||||
# 运行CMake生成构建系统
|
# 运行CMake生成构建系统
|
||||||
# 这里假设CMakeLists.txt在项目根目录下
|
cmake -G "Visual Studio 17 2022" -T host=x64 -DCMAKE_BUILD_TYPE="$build_type" -DCMAKE_BUILD_PLATFORM="$platform" ..
|
||||||
cmake -G "Visual Studio 17 2022" -T host=x64 -DCMAKE_BUILD_TYPE=$build_type ..
|
|
||||||
# 编译项目
|
# 编译项目
|
||||||
cmake --build . --config $build_type
|
cmake --build . --config $build_type
|
||||||
|
|
||||||
|
# 检查编译命令的退出代码
|
||||||
|
if ($LASTEXITCODE -ne 0) {
|
||||||
|
Write-Host "CMake build failed with exit code $LASTEXITCODE. Exiting script." -ForegroundColor Red
|
||||||
|
exit $LASTEXITCODE
|
||||||
|
}
|
||||||
|
|
||||||
# 返回项目目录
|
# 返回项目目录
|
||||||
Set-Location -Path $projectDir
|
Set-Location -Path $projectDir
|
||||||
|
|
||||||
@@ -33,7 +42,6 @@ Write-Host "build done." -ForegroundColor Darkgreen
|
|||||||
|
|
||||||
if($build_and_run -eq "true"){
|
if($build_and_run -eq "true"){
|
||||||
Write-Host "################## APP Run ##################" -ForegroundColor Blue
|
Write-Host "################## APP Run ##################" -ForegroundColor Blue
|
||||||
Start-Process -FilePath "build\\${build_type}\\TestCode.exe"
|
$env:PATH += ";3rd\win\opencv\x64\vc15\bin"
|
||||||
# & "build\\$build_type\\TestCode.exe"
|
Start-Process -FilePath "build\\${build_type}\\Demo.exe"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user