经过大量的研究,我找不到任何有用的答案,所以我在这里!
上下文: 我想用C ++和C ++进行细胞自动机表示。 SFML 我以前在某些发行版上使用SFML,但最近转移到Ubuntu并尝试了安装SFML
经过充分的链接错误和未定义的引用后,我终于设法从SFML教程中编译了这个例子!
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
这是我的makefile
NAME = SFMLFire
CC = g++
SRCS = main.cpp
OBJS = $(SRCS:.cpp=.o)
CXXFLAGS= -L/home/kopo/SFML-2.4.2/lib/ -lsfml-graphics-d -lsfml-window-d \
-lsfml-system-d -Wall -Werror -std=c++14 -I./include/ -I/home/kopo/SFML-2.4.2/i\
nclude
RM = rm -fr
all : $(NAME)
$(NAME) : $(OBJS)
$(CC) -o $(NAME) $(OBJS) $(CXXFLAGS)
clean :
$(RM) $(OBJS)
fclean : clean
$(RM) $(NAME)
re : fclean all
.PHONY : all re clean fclean
现在出现问题: 它是段错的!核心倾倒。我很确定它不是来自代码,因为我在没有问题的情况下运行我以前的发行版
我看到有些人说它可能来自于32/64位的lib或者没有安装openGl驱动程序,但我几乎可以肯定这不是问题
我还在我的bashrc中添加了LD_LIBRARY_PATH =“/ path / to / SFML / lib”以防万一
我尝试使用Valgrind获取更多信息,但Valgrind使程序按预期运行
所以我有点失落,你看到我的代码或makefile中出现了什么错误吗? 您对可能出现的问题有什么建议吗?
谢谢!
答案 0 :(得分:0)
好的,我发现了问题......我感到很惭愧......
我从SFML下载了SDK,SDK用于GCC 我试着用G ++编译它