私はUbuntu 16.04 x86_64でGLFW3ライブラリを使用するプログラムをコンパイルしようとしています。私はlibglfw3
パッケージとlibglfw3-dev
パッケージをインストールしました。GLFW関数が見つかりません
cmake_minimum_required (VERSION 2.6)
project (Test)
set (CMAKE_CXX_FLAGS "-lGL -lGLEW")
set (CMAKE_EXE_LINKER_FLAGS -lglfw)
add_executable(Test src/main.cpp)
そしてmain.cppに:次に、私はCMakeLists.txt
書い
#include <stdio.h>
#include <stdlib.h>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
int main() {
if (!glfwInit()) {
return -1;
}
glfwTerminate();
return 0;
}
をしかし、私はmake
コマンドからのエラーを取得:
main.cpp:(.text+0x5): undefined reference to `glfwInit'
main.cpp:(.text+0x1a): undefined reference to `glfwTerminate'
collect2: error: ld returned 1 exit status
CMakeFiles/Test.dir/build.make:94: recipe for target 'Test' failed
make[2]: *** [Test] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/Test.dir/all' failed
make[1]: *** [CMakeFiles/Test.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
は私が間違って何をしているのですか? GLFW3が見つからないのはなぜですか? CMakeのでライブラリとのリンクのための
GLEWライブラリにリンクしましたか? – Zebrafish
私はこの文字列 'set(CMAKE_EXE_LINKER_FLAGS -lglfw)'がこのライブラリをリンクしなければならないと考えました。そうではありませんか?ちょうど私はCMakeを学ぶだけです。私はWindows上でVisual Studioプロジェクトシステムとそのコンパイラを使用しました。 –
UbuntuでGLFWライブラリをコンパイルしましたが、Windows Visual Studioでプログラムを実行しようとしていますか? – Zebrafish