JoeyDeVries / LearnOpenGL

Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com
https://learnopengl.com
Other
10.91k stars 2.79k forks source link

if u want to compile Xcode project running on MAcOsx,pls run command line below: #337

Open chengzong opened 1 year ago

chengzong commented 1 year ago

EFFECTIVE_PLATFORM_NAME="MaxOSX" PLATFORM_NAME="MaxOSX" mkdir xcode cd xcode cmake -G Xcode ..

chengzong commented 1 year ago

then u can run on ur Mac. because cmake default platform is iPhoneos , it is not we want

rayxia commented 1 year ago

@chengzong I got this error:

-- The C compiler identification is unknown -- The CXX compiler identification is unknown CMake Error at CMakeLists.txt:4 (project): No CMAKE_C_COMPILER could be found.

CMake Error at CMakeLists.txt:4 (project): No CMAKE_CXX_COMPILER could be found.

-- Configuring incomplete, errors occurred!

rayxia commented 1 year ago

CMakeError.log:

Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. Compiler:
Build flags: Id flags:

The output was: 65 Command line invocation: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild

User defaults from command line: IDEPackageSupportUseBuiltinSCM = YES

Computing target dependency graph and provisioning inputs

Create build description Build description signature: 46c39394b2fb5d7e9b45911e9bac0140 Build description path: /Users/ray/workspace/opensources/LearnOpenGL/xcode/CMakeFiles/3.22.0/CompilerIdC/./XCBuildData/46c39394b2fb5d7e9b45911e9bac0140-desc.xcbuild

warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING in any of the targets in the current build to suppress this warning error: An empty identity is not valid when signing a binary for the product type 'Command-line Tool'. (in target 'CompilerIdC' from project 'CompilerIdC') warning: Traditional headermap style is no longer supported; please migrate to using separate headermaps and set 'ALWAYS_SEARCH_USER_PATHS' to NO. (in target 'CompilerIdC' from project 'CompilerIdC') warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'CompilerIdC' from project 'CompilerIdC') BUILD FAILED

Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. Compiler:
Build flags: Id flags:

The output was: 65 Command line invocation: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild

User defaults from command line: IDEPackageSupportUseBuiltinSCM = YES

Computing target dependency graph and provisioning inputs

Create build description Build description signature: cac2f8f22618b93dc758c1002d968337 Build description path: /Users/ray/workspace/opensources/LearnOpenGL/xcode/CMakeFiles/3.22.0/CompilerIdC/./XCBuildData/cac2f8f22618b93dc758c1002d968337-desc.xcbuild

warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING in any of the targets in the current build to suppress this warning error: An empty identity is not valid when signing a binary for the product type 'Command-line Tool'. (in target 'CompilerIdC' from project 'CompilerIdC') warning: Traditional headermap style is no longer supported; please migrate to using separate headermaps and set 'ALWAYS_SEARCH_USER_PATHS' to NO. (in target 'CompilerIdC' from project 'CompilerIdC') warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'CompilerIdC' from project 'CompilerIdC') BUILD FAILED

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. Compiler:
Build flags: Id flags:

The output was: 65 Command line invocation: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild

User defaults from command line: IDEPackageSupportUseBuiltinSCM = YES

Computing target dependency graph and provisioning inputs

Create build description Build description signature: d2c816be6e96fa86e7306b7535cf9a1a Build description path: /Users/ray/workspace/opensources/LearnOpenGL/xcode/CMakeFiles/3.22.0/CompilerIdCXX/./XCBuildData/d2c816be6e96fa86e7306b7535cf9a1a-desc.xcbuild

warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING in any of the targets in the current build to suppress this warning error: An empty identity is not valid when signing a binary for the product type 'Command-line Tool'. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') warning: Traditional headermap style is no longer supported; please migrate to using separate headermaps and set 'ALWAYS_SEARCH_USER_PATHS' to NO. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') BUILD FAILED

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. Compiler:
Build flags: Id flags:

The output was: 65 Command line invocation: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild

User defaults from command line: IDEPackageSupportUseBuiltinSCM = YES

Computing target dependency graph and provisioning inputs

Create build description Build description signature: 3624790e81f2bb2c6a3893ad543050bc Build description path: /Users/ray/workspace/opensources/LearnOpenGL/xcode/CMakeFiles/3.22.0/CompilerIdCXX/./XCBuildData/3624790e81f2bb2c6a3893ad543050bc-desc.xcbuild

warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING in any of the targets in the current build to suppress this warning error: An empty identity is not valid when signing a binary for the product type 'Command-line Tool'. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') warning: Traditional headermap style is no longer supported; please migrate to using separate headermaps and set 'ALWAYS_SEARCH_USER_PATHS' to NO. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') BUILD FAILED

Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. Compiler:
Build flags: Id flags:

The output was: 65 Command line invocation: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild

User defaults from command line: IDEPackageSupportUseBuiltinSCM = YES

Computing target dependency graph and provisioning inputs

Create build description Build description signature: 271852ec9a84dbbb786ed5fdd22bec42 Build description path: /Users/ray/workspace/opensources/LearnOpenGL/xcode/CMakeFiles/3.22.0/CompilerIdC/./XCBuildData/271852ec9a84dbbb786ed5fdd22bec42-desc.xcbuild

warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING in any of the targets in the current build to suppress this warning error: An empty identity is not valid when signing a binary for the product type 'Command-line Tool'. (in target 'CompilerIdC' from project 'CompilerIdC') warning: Traditional headermap style is no longer supported; please migrate to using separate headermaps and set 'ALWAYS_SEARCH_USER_PATHS' to NO. (in target 'CompilerIdC' from project 'CompilerIdC') warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'CompilerIdC' from project 'CompilerIdC') BUILD FAILED

Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. Compiler:
Build flags: Id flags:

The output was: 65 Command line invocation: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild

User defaults from command line: IDEPackageSupportUseBuiltinSCM = YES

Computing target dependency graph and provisioning inputs

Create build description Build description signature: c150f2db273d853fde51f27c2144331f Build description path: /Users/ray/workspace/opensources/LearnOpenGL/xcode/CMakeFiles/3.22.0/CompilerIdC/./XCBuildData/c150f2db273d853fde51f27c2144331f-desc.xcbuild

warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING in any of the targets in the current build to suppress this warning error: An empty identity is not valid when signing a binary for the product type 'Command-line Tool'. (in target 'CompilerIdC' from project 'CompilerIdC') warning: Traditional headermap style is no longer supported; please migrate to using separate headermaps and set 'ALWAYS_SEARCH_USER_PATHS' to NO. (in target 'CompilerIdC' from project 'CompilerIdC') warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'CompilerIdC' from project 'CompilerIdC') BUILD FAILED

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. Compiler:
Build flags: Id flags:

The output was: 65 Command line invocation: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild

User defaults from command line: IDEPackageSupportUseBuiltinSCM = YES

Computing target dependency graph and provisioning inputs

Create build description Build description signature: 3d42d5f6e4b7aff78d5abc030914e2a3 Build description path: /Users/ray/workspace/opensources/LearnOpenGL/xcode/CMakeFiles/3.22.0/CompilerIdCXX/./XCBuildData/3d42d5f6e4b7aff78d5abc030914e2a3-desc.xcbuild

warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING in any of the targets in the current build to suppress this warning error: An empty identity is not valid when signing a binary for the product type 'Command-line Tool'. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') warning: Traditional headermap style is no longer supported; please migrate to using separate headermaps and set 'ALWAYS_SEARCH_USER_PATHS' to NO. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') BUILD FAILED

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed. Compiler:
Build flags: Id flags:

The output was: 65 Command line invocation: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild

User defaults from command line: IDEPackageSupportUseBuiltinSCM = YES

Computing target dependency graph and provisioning inputs

Create build description Build description signature: 428526b657ed62517805bade19dca394 Build description path: /Users/ray/workspace/opensources/LearnOpenGL/xcode/CMakeFiles/3.22.0/CompilerIdCXX/./XCBuildData/428526b657ed62517805bade19dca394-desc.xcbuild

warning: Building targets in manual order is deprecated - check "Parallelize build for command-line builds" in the project editor, or set DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING in any of the targets in the current build to suppress this warning error: An empty identity is not valid when signing a binary for the product type 'Command-line Tool'. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') warning: Traditional headermap style is no longer supported; please migrate to using separate headermaps and set 'ALWAYS_SEARCH_USER_PATHS' to NO. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'CompilerIdCXX' from project 'CompilerIdCXX') BUILD FAILED

kaibigon commented 1 year ago

@chengzong I got this error:

-- The C compiler identification is unknown -- The CXX compiler identification is unknown CMake Error at CMakeLists.txt:4 (project): No CMAKE_C_COMPILER could be found.

CMake Error at CMakeLists.txt:4 (project): No CMAKE_CXX_COMPILER could be found.

-- Configuring incomplete, errors occurred!

try sudo xcode-select --reset

weiyu666 commented 7 months ago

Does this project only support Intel architecture and not arm64?

image

企业微信截图_7815b5c0-2aa0-498e-9157-f44f2f281f25 Display link libraries such as glfw only find x86_64

EternalFire commented 8 hours ago

Xcode Version 14.3 (14E222b)