mingw Windows找不到本征头文件 [英] mingw windows can not find Eigen header file

查看:166
本文介绍了mingw Windows找不到本征头文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法让Eigen开始工作.

I can't get Eigen starting to work.

根据此链接,我必须使用

g++ -I /path/to/eigen/ my_program.cpp -o my_program 

但这不适用于mingw

But this is not working for mingw

因此,我在此处中查看了mingw文档.看来我应该将Eigen文件夹放到c:/mingw/include中.所以我做到了,但仍然无法正常工作

So I look into mingw doc here. It seems that I should put Eigen folder into c:/mingw/include. So I did it, but still not working

这是C ++源代码

#include <iostream>
#include <Eigen/Dense>
using Eigen::MatrixXd;
int main()
{
  MatrixXd m(2,2);
  m(0,0) = 3;
  m(1,0) = 2.5;
  m(0,1) = -1;
  m(1,1) = m(1,0) + m(0,1);
  std::cout << m << std::endl;
}

这是--verbose

Here is the output of --verbose

D:\w\WORK\C++program\use eigen>g++ firsteigen.cpp --verbos
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=c:/mingw-w64/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/5
.2.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-5.2.0/configure --host=x86_64-w64-mingw32 --bu
ild=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysr
oot=/c/mingw520/x86_64-520-win32-seh-rt_v4-rev0/mingw64 --with-gxx-include-dir=/
mingw64/x86_64-w64-mingw32/include/c++ --enable-shared --enable-static --disable
-multilib --enable-languages=c,c++,fortran,objc,obj-c++,lto --enable-libstdcxx-t
ime=yes --enable-threads=win32 --enable-libgomp --enable-libatomic --enable-lto
--enable-graphite --enable-checking=release --enable-fully-dynamic-string --enab
le-version-specific-runtime-libs --disable-isl-version-check --disable-libstdcxx
-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win3
2-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with
-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib
--with-gmp=/c/mingw520/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mi
ngw520/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw520/prerequisi
tes/x86_64-w64-mingw32-static --with-isl=/c/mingw520/prerequisites/x86_64-w64-mi
ngw32-static --with-pkgversion='x86_64-win32-seh-rev0, Built by MinGW-W64 projec
t' --with-bugurl=http://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -I/
c/mingw520/x86_64-520-win32-seh-rt_v4-rev0/mingw64/opt/include -I/c/mingw520/pre
requisites/x86_64-zlib-static/include -I/c/mingw520/prerequisites/x86_64-w64-min
gw32-static/include' CXXFLAGS='-O2 -pipe -I/c/mingw520/x86_64-520-win32-seh-rt_v
4-rev0/mingw64/opt/include -I/c/mingw520/prerequisites/x86_64-zlib-static/includ
e -I/c/mingw520/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS= LDFLA
GS='-pipe -L/c/mingw520/x86_64-520-win32-seh-rt_v4-rev0/mingw64/opt/lib -L/c/min
gw520/prerequisites/x86_64-zlib-static/lib -L/c/mingw520/prerequisites/x86_64-w6
4-mingw32-static/lib '
Thread model: win32
gcc version 5.2.0 (x86_64-win32-seh-rev0, Built by MinGW-W64 project)
COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-mtune=core2' '-march=nocona'
 c:/mingw-w64/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/5.2.0/cc1plus.exe -q
uiet -v -iprefix c:/mingw-w64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/ -
U_REENTRANT firsteigen.cpp -quiet -dumpbase firsteigen.cpp -mtune=core2 -march=n
ocona -auxbase firsteigen -version -o C:\temp\ccRjLnLZ.s
GNU C++ (x86_64-win32-seh-rev0, Built by MinGW-W64 project) version 5.2.0 (x86_6
4-w64-mingw32)
        compiled by GNU C version 5.2.0, GMP version 6.0.0, MPFR version 3.1.3,
MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "c:/mingw-w64/mingw64/lib/gcc/../../lib/gcc/x86_64-
w64-mingw32/5.2.0/include"
ignoring nonexistent directory "C:/mingw520/x86_64-520-win32-seh-rt_v4-rev0/ming
w64C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../include"
ignoring duplicate directory "c:/mingw-w64/mingw64/lib/gcc/../../lib/gcc/x86_64-
w64-mingw32/5.2.0/include-fixed"
ignoring duplicate directory "c:/mingw-w64/mingw64/lib/gcc/../../lib/gcc/x86_64-
w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/include"
ignoring nonexistent directory "C:/mingw520/x86_64-520-win32-seh-rt_v4-rev0/ming
w64/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
 c:/mingw-w64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/include
 c:/mingw-w64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/include-fixed
 c:/mingw-w64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64
-w64-mingw32/include
 c:/mingw-w64/mingw64/lib/gcc/../../x86_64-w64-mingw32/include/c++
 c:/mingw-w64/mingw64/lib/gcc/../../x86_64-w64-mingw32/include/c++/x86_64-w64-mi
ngw32
 c:/mingw-w64/mingw64/lib/gcc/../../x86_64-w64-mingw32/include/c++/backward
End of search list.
GNU C++ (x86_64-win32-seh-rev0, Built by MinGW-W64 project) version 5.2.0 (x86_6
4-w64-mingw32)
        compiled by GNU C version 5.2.0, GMP version 6.0.0, MPFR version 3.1.3,
MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: fb424bf2d94fed3543366c13b326a53d
firsteigen.cpp:2:23: fatal error: Eigen/Dense: No such file or directory
compilation terminated.

推荐答案

让我们假设到的完整路径是c:/some/random/path/Eigen/Dense.您需要传递给gcc的包含路径为c:/some/random/path/.请注意,在Dense文件的同一级别上,您应该具有src文件夹.

Let's assume the full path to is c:/some/random/path/Eigen/Dense. The include path that you need to pass on to gcc is c:/some/random/path/. Note that at the same level of the Dense file, you should have the src folder.

这篇关于mingw Windows找不到本征头文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆