2017-02-24 439 views
0

我得到當我使用Cygwin在 「Makefile文件」 這個錯誤:Cygwin:「boost/filesystem.hpp:沒有這樣的文件或目錄編譯終止。」

"boost/filesystem.hpp: No such file or directory compilation terminated."

這是一切的裏面的 「Makefile」 文件:

mnisten: src/main.cpp g++ -Wall -O2 -lboost_filesystem-mt -std=c++0x -o mnisten src/main.cpp

而且裏面的「 main.cpp「文件,這是錯誤消息所指的代碼行:

#include <boost/filesystem.hpp>

首先,我嘗試在「src」文件夾內放置「boost」文件夾(包含「filesystem.hpp」),但錯誤消息未更改,我仍收到相同的錯誤消息。

然後,我改變該「包括」代碼內「的main.cpp」到: #include <filesystem.hpp>

我還複製了「filesystem.hpp」文件進入「SRC」文件夾的根,並且令人驚訝這個工作。我有一個新的錯誤,但我通過了「包含」部分。

我發現它非常令人困惑,它在文件位於文件夾中時遇到錯誤,但當文件位於「src」文件夾的根目錄中時,它會發生錯誤。

當文件位於「boost」文件夾中時,我如何才能使其正常工作?

(我下載了「filesystem.hpp」,因爲它是不包括在內)

+0

類似你安裝了Cygwin包'libboost-devel'包括filesystem.hpp? – matzeri

+0

工作,謝謝。現在我得到了一個關於「opencv/cv.hpp」的錯誤,你碰巧知道包含「cv.hpp」的包的名字嗎? – Tob237

回答

1

要找到cygwin的包,其中包含一個給定的文件,你可以使用cygcheck -p

$ cygcheck -p boost/filesystem.hpp 
Found 6 matches for boost/filesystem.hpp 
libboost-devel-1.60.0-1 - libboost-devel: Boost C++ libraries (installed binaries and support files) 
libboost-devel-1.60.0-2 - libboost-devel: Boost C++ libraries (installed binaries and support files) 
mingw64-i686-boost-1.60.0-1 - mingw64-i686-boost: Boost C++ libraries for Win32 toolchain (installed binaries and support files) 
mingw64-i686-boost-1.60.0-2 - mingw64-i686-boost: Boost C++ libraries for Win32 toolchain (installed binaries and support files) 
mingw64-x86_64-boost-1.60.0-1 - mingw64-x86_64-boost: Boost C++ libraries for Win64 toolchain (installed binaries and support files) 
mingw64-x86_64-boost-1.60.0-2 - mingw64-x86_64-boost: Boost C++ libraries for Win64 toolchain (installed binaries and support files) 

,所以你需要因爲您不是針對mingw64進行交叉編譯,請安裝libboost-devel

$ cygcheck -p opencv/cv.hpp 
Found 1 matches for opencv/cv.hpp 
libopencv-devel-2.4.11-1 - libopencv-devel: Real-time computer vision library (development) (installed binaries and support files) 
相關問題