【添加】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",
|
||||
"Release",
|
||||
"-build_and_run",
|
||||
"false"
|
||||
"false",
|
||||
"-platform",
|
||||
"win"
|
||||
],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
@@ -28,11 +30,13 @@
|
||||
"command": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
|
||||
"args": [
|
||||
"-File",
|
||||
"${workspaceFolder}\\build.ps1",
|
||||
"${workspaceFolder}\\build-win-app.ps1",
|
||||
"-build_type",
|
||||
"Debug",
|
||||
"-build_and_run",
|
||||
"true"
|
||||
"true",
|
||||
"-platform",
|
||||
"win"
|
||||
],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
|
||||
@@ -3,14 +3,19 @@ project(Demo)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
if(WIN32)
|
||||
set(CMAKE_CXX_COMPILER "MSVC")
|
||||
|
||||
elseif(UNIX)
|
||||
set(CMAKE_CXX_COMPILER "g++")
|
||||
endif()
|
||||
|
||||
# 指定库链接目录
|
||||
link_directories(3rd/lib)
|
||||
# 根据 platform 值设置 CMake 变量
|
||||
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)
|
||||
|
||||
aux_source_directory(./src DIR_SRCS)
|
||||
@@ -19,8 +24,8 @@ aux_source_directory(./app DIR_SRCS)
|
||||
|
||||
add_executable(Demo ${DIR_SRCS})
|
||||
|
||||
# if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
# target_link_libraries(${PROJECT_NAME} spdlogd-mt-x64.lib)
|
||||
# else()
|
||||
# target_link_libraries(${PROJECT_NAME} spdlog-mt-x64)
|
||||
# endif()
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
target_link_libraries(${PROJECT_NAME} opencv_world430d)
|
||||
else()
|
||||
target_link_libraries(${PROJECT_NAME} opencv_world430)
|
||||
endif()
|
||||
|
||||
@@ -3,7 +3,10 @@ param(
|
||||
[string]$build_type,
|
||||
|
||||
[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
|
||||
|
||||
# 运行CMake生成构建系统
|
||||
# 这里假设CMakeLists.txt在项目根目录下
|
||||
cmake -G "Visual Studio 17 2022" -T host=x64 -DCMAKE_BUILD_TYPE=$build_type ..
|
||||
cmake -G "Visual Studio 17 2022" -T host=x64 -DCMAKE_BUILD_TYPE="$build_type" -DCMAKE_BUILD_PLATFORM="$platform" ..
|
||||
|
||||
# 编译项目
|
||||
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
|
||||
|
||||
@@ -33,7 +42,6 @@ Write-Host "build done." -ForegroundColor Darkgreen
|
||||
|
||||
if($build_and_run -eq "true"){
|
||||
Write-Host "################## APP Run ##################" -ForegroundColor Blue
|
||||
Start-Process -FilePath "build\\${build_type}\\TestCode.exe"
|
||||
# & "build\\$build_type\\TestCode.exe"
|
||||
|
||||
$env:PATH += ";3rd\win\opencv\x64\vc15\bin"
|
||||
Start-Process -FilePath "build\\${build_type}\\Demo.exe"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user