Создание проекта allegro5 с CLion
Несколько дней назад я скачал clion, чтобы сделать школьный проект на C++ и Allegro5. Сначала я использовал allegro, установленный с homebrew, но он не работал, поэтому я скомпилировал его сам. Поскольку я никогда раньше не работал с CMake, мне потребовалось некоторое время, чтобы включить библиотеки и скомпилировать проект, но мне удалось это сделать. Проблема в том, что когда я пытаюсь запустить его, он выдает ошибку:
dyld: Symbol not found: __al_mangled_main
Referenced from: /usr/local/lib/liballegro_main.5.0.dylib
Expected in: flat namespace
in /usr/local/lib/liballegro_main.5.0.dylib
Мой CMakeLists.txt:
cmake_minimum_required(VERSION 3.3)
project(arkanoid)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES classes/main.cpp classes/ball.cpp classes/ball.h classes/block.cpp classes/block.h)
add_executable(arkanoid ${SOURCE_FILES})
INCLUDE_DIRECTORIES( allegro/5.0.11/include )
LINK_DIRECTORIES( allegro/5.0.11/lib )
TARGET_LINK_LIBRARIES(arkanoid allegro_acodec
allegro_audio
allegro_color
allegro_dialog
allegro_image
allegro_main
allegro_memfile
allegro_physfs
allegro_primitives
allegro_ttf
allegro_font
allegro)
И сейчас мой main.cpp выглядит так:
#include <iostream>
#include <allegro5/allegro.h>
using namespace std;
int main() {
al_init();
return 0;
}
Я пытаюсь построить этот проект на OSX. Я искал решение проблемы 2 дня, но безрезультатно. Немногие люди используют CLion и еще меньше используют его с allegro5. Кто-нибудь может понять, что эта ошибка вообще означает?
1 ответ
Хорошо, это взорвало мой разум. Я не знаю, почему я нашел решение только после запроса на stackru, но я публикую его для кого-то, кто может столкнуться с аналогичной проблемой для меня. Измените свою основную декларацию с
int main()
в
int main(int argc, char **argv)
и это все. В самом деле.