0

コンパイルできない進行中のプロジェクトにまだ問題があります。インクルードに絞り込みましたが、何が起こっているのかわかりません。私は WinMain エントリ ポイントを追加する必要があることを読みましたが、それは追加されません。このたわごとエラーにまったく遭遇しなかったクラスメートがいます。だから私は新しい空のプロジェクトを作成しました:

    #include <cstdlib> //include c library

    //using namespace std;
    //using namespace cv;

    namespace sp {
    int main() {
        return 0;
    }
    }

以下が含まれます:

GCC C++ コンパイラの下には以下が含まれます。

    C:\Users\Amit\Desktop\opencv\build\include
    C:\opencv_contrib-3.0.0\modules\xfeatures2d\include

MinGW C++ リンカー ライブラリの下で:

    libopencv_core310
    libopencv_imgcodecs310
    libopencv_imgproc310
    libopencv_xfeatures2d310
    libopencv_features2d310
    libopencv_highgui310

MinGW C++ リンカー ライブラリの検索パスの下:

    C:\Users\Amit\Desktop\opencv\build\x86\mingw\lib

それでも、これらのライブラリから関数を呼び出さないと、次のエラーが発生します。

    09:45:43 **** Incremental Build of configuration Debug for project testing ****
    Info: Internal Builder is used for build
    g++ "-IC:\\opencv_contrib-3.0.0\\modules\\xfeatures2d\\include" "-IC:\\Users\\Amit\\Desktop\\opencv\\build\\include" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\testing.o" "..\\src\\testing.cpp" 
    g++ "-LC:\\Users\\Amit\\Desktop\\opencv\\build\\x86\\mingw\\lib" -o testing.exe "src\\testing.o" -llibopencv_core310 -llibopencv_imgcodecs310 -llibopencv_imgproc310 -llibopencv_xfeatures2d310 -llibopencv_features2d310 -llibopencv_highgui310 
    c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../libmingw32.a(main.o):(.text.startup+0xa7): undefined reference to `WinMain@16'
    collect2.exe: error: ld returned 1 exit status

    09:45:43 Build Finished (took 396ms)

誰か私を救ってくれませんか?

ありがとう、アミット。

4

2 に答える 2

2
namespace sp {
    int main() {
        return 0;
    }
}

sp::mainではなく、関数を宣言しますmain。これによりmain、プログラムのエントリ ポイントとして機能する関数がなくなります。

sp解決策:名前空間から main を削除します。

int main() {
    return 0;
}
于 2016-08-17T07:25:29.987 に答える
2

実行可能ファイルを作成するとき、リンカーはmainグローバル名前空間で名前が付けられた関数を予期します。グローバル名前空間ではなく名前空間内に関数を配置したため、リンカーはそれを見つけられません。

したがって、名前空間mainの外に移動するかsp、リンカーに関数の場所を伝えます(少なくともMSリンカーでは可能ですが、g ++でどのように行われるかはわかりません)。

于 2016-08-17T07:25:17.107 に答える