使用CLion制作allegro5项目

时间:2015-10-14 17:53:31

标签: c++ cmake clion allegro5

几天前我下载了clion,用C ++和Allegro5制作学校项目。首先,我使用随自制软件安装的allegro,但它没有工作,所以我自己编译。因为在我花了一些时间来包含libs并编译项目之前我从未使用过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 个答案:

答案 0 :(得分:2)

好的,这个让我大吃一惊。我不知道为什么我只是在询问了stackoverflow之后找到了解决方案,但是我发布的帖子是为那些可能会遇到simillar问题的人发布的。从

更改主要声明
int main() 

int main(int argc, char **argv) 

就是这样。真。