我正在尝试使用premake4来编译C++
OpenGL
项目。我选择glad来帮助我使其跨平台。
因此,我编写了以下脚本premake4.lua
solution "skinned-animation"
configurations { "Debug", "Release" }
project "skinned-animation"
kind "ConsoleApp"
language "C++"
linkoptions { "-L/usr/local/lib", "-lboost_system", "-lboost_filesystem", "-lglfw" }
includedirs { "../prerequisite", "/usr/local/include" }
files { "../skinned-animation/**.h", "../skinned-animation/**.cpp", "../skinned-animation/**.c" }
buildoptions { "-std=c++14" }
但是,问题是premake
将对所有-std=c++14
(实际上仅C
)和glad.c
文件都施加标志C++
。这会导致错误。
由于C
没有C++
,我们如何区分premake4
和filter
并赋予它们不同的标志?
答案 0 :(得分:0)
最后,我选择首先使用以下指令将glad.c
编译为静态库,然后将其链接到我的项目:
clang -c glad.c
ar rcs libglad.a glad.o