首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用allegro5制作CLion项目

用allegro5制作CLion项目
EN

Stack Overflow用户
提问于 2015-10-14 17:53:31
回答 1查看 1.2K关注 0票数 2

几天前,我下载了克里恩,在C++和Allegro5上做了一个学校项目。首先,我使用了安装有自制的快板,但它不起作用,所以我自己编写了它。由于我以前从未使用过CMake,所以我花了一些时间来包含库和编译项目,但我成功地做到了。问题是,当我尝试运行它时,它会抛出一个错误:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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看起来是这样的:

代码语言:javascript
复制
#include <iostream>
#include <allegro5/allegro.h>

using namespace std;

int main() {

    al_init();

    return 0;

}

我试着在OSX上建立这个项目。我已经寻找了两天的解决我的问题,但没有结果。使用CLion的人不多,与allegro5一起使用它的人更少。有人能知道这个错误意味着什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-14 19:11:26

好吧,这件事让我大吃一惊。我不知道为什么我只是在询问堆栈溢出之后才找到解决方案,但我将其发布给可能遇到类似问题的人。将主声明更改为

代码语言:javascript
复制
int main() 

代码语言:javascript
复制
int main(int argc, char **argv) 

仅此而已。真的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33132312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档