build — Смешать C ++ с C в premake4?

Я пытаюсь использовать 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?

0

Решение

В конце концов я выбираю компиляцию glad.c в статическую библиотеку сначала с помощью следующей инструкции, а затем связать ее с моим проектом:

clang -c glad.c
ar rcs libglad.a glad.o
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]