typedef double (*func_t)(double x);
func_t func;
int (*arr)[10];
double (*func[10])(double x);
с разрядностью не ошиблись?
find_package(PkgConfig REQUIRED)
для включения поиска библиотек с помощью pkg_config и использовать pkg_check_modules для поиска библиотек. man pkg_config
можно посмотреть для справки. add_library(... static imported ...)
А в верхней части черепа такое ощущение, будто мозг сочится
cmake_minimum_required(VERSION 3.2)
project(2DPrimitive)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(PROJECT_VERSION_MAJOR 0)
set(PROJECT_VERSION_MINOR 1)
redirect-gateway def1 ipv6 bypass-dhcp
pull-filter ignore redirect-gateway
походу придется
Вовсе необязательно.
Перенесите все включения библиотек в конец командной строки, вместе с опциями --Wl,--start-group и -Wl,--end-group.
Вообще не совсем понятно назначение этих опций тут. В бибилотеках есть перекрестные ссылки друг на друга? Как-то это странно. Попахивает кривой архитектурой библиотек. Если бы это были библиотеки не OpenGL (или чего-нибудь настолько же глобального), то это могло быть вполне вероятно. По моему должно работать и без этих опций. Но библиотеки в конец!