c++ - 在 premake4 中将 C++ 与 C 混合?
问题描述
我正在尝试使用premake4编译C++
OpenGL
项目。我选择很高兴帮助我使它成为跨平台的。
因此,我编写了以下脚本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
?
解决方案
最后,我选择glad.c
先用下面的指令编译成静态库,然后链接到我的项目中:
clang -c glad.c
ar rcs libglad.a glad.o
推荐阅读
- c# - c#中的预处理技术
- python - Python - 数据清洗
- arrays - Applescript 比较同一数组中的项目
- sql - 更新查询给出奇怪的错误“CfPlnUt_Aemk5Mr77-AevA2”
- pagination - Gremlin 中的分页
- python - 这个错误 TypeError: 'Button' object is not callable 是什么意思?
- python - 如果列不同于 NaN 或 0,则 np.any() 替代
- sql - sql中的匹配元组
- jdbc - Logstash JDBC 适配器:Varbinary 到 UTF-8?(mysql到弹性导入)
- python - SKlearn对形状与训练数据集形状不同的测试数据集进行预测