0

私は、stackoverflow などで約 20 の異なるページを見てきましたが、どれも役に立ちませんでした。プロジェクトのプロパティにリンクしましたが、プロジェクトをコンパイルすると、

/home/(username)/NetBeansProjects/testGame_cpp/main.cpp:24: undefined reference to `glfwInit'

これは本当にいらいらさせられます。また、リンク オプションを設定すると、プロジェクトをビルドするために実行されるコマンドにそれらが表示されないことに気付きました。

g++ -g -m64 -o testGame main.cpp -L/usr/lib/x86_64-linux-gnu -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic

助けてください、これは動揺しています!! ;(

これが私が持っているプロジェクトのすべてです(main.cpp):

/* 
* File:   main.cpp
* Author: toriyamo
*
* Created on November 27, 2015, 5:34 PM
*/

#include <stdlib.h>
#include <stdio.h>

#include <GL/glew.h>
#include <GLFW/glfw3.h>

using namespace std;

int main(int argc, char** argv) {

    if (!glfwInit()) {
        fprintf(stderr, "**Failed to initialize glfw3!!**\n");
    }

    return 0;
}

編集: また、if() ステートメントをコメントアウトすると、次のようにコンパイルされます

BUILD SUCCESSSFUL (total time: 259ms)

EDIT 2:GLFWを正しくインストールしたとは思えません...ダウンロードしてCMakeでビルドしたところ、成功しました。端末に入力しました:

su
Password: (password)
make

これは出力でした: http://pastebin.com/WMVGRAWp

どうやらうまくいきました...しかし、glfw libがうまくいかないのはなぜですか?

編集 3 : リンク オプションにあったオプションでビルドするようにメイクファイルを変更しました。新しいエラーが発生しました: http://pastebin.com/aHuZ1jsg X が見つからない必要があります...

EDIT 4(最後のもの):以下の回答を参照してください!!!

4

1 に答える 1

0

私は解決策を見つけました...もちろん、質問を投稿した後でのみ笑。

このページを見て、次のコマンドを入力しました。

sudo find / | grep "glfw3\.pc"
cat /usr/local/lib/pkgconfig/glfw3.pc 

そしたら見つけた

Requires.private:  x11 xrandr xinerama xi xxf86vm xcursor gl

以前はメイクファイルになかったオプションをこれに追加したところ、機能しました! ついに!エラーの苦しみは終わりました!!

とにかく、それが他の人にも役立つことを願っています!!

于 2015-11-28T13:54:29.200 に答える