Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Boost-交叉检查我做得对(Windows)_C++_Boost_Cygwin - Fatal编程技术网

C++ Boost-交叉检查我做得对(Windows)

C++ Boost-交叉检查我做得对(Windows),c++,boost,cygwin,C++,Boost,Cygwin,我已经启动并运行了cygwin(编译并运行了示例代码,没问题) 我在这里下载了boost: C:\cygwin\lib\boost\u 1\u 53\u 0 并运行bootstrap.sh(运行时没有问题) 我跑: $./b2安装--前缀=../boost 当我在/lib/boost\u 1\u 53\u 0中时,假设它将安装到/lib 现在我确实做到了: C:\cygwin\lib\boost 我正在尝试编译和运行: #include<iostream>

我已经启动并运行了cygwin(编译并运行了示例代码,没问题)

我在这里下载了boost:
C:\cygwin\lib\boost\u 1\u 53\u 0

并运行bootstrap.sh(运行时没有问题)

我跑:
$./b2安装--前缀=../boost

当我在
/lib/boost\u 1\u 53\u 0
中时,假设它将安装到
/lib

现在我确实做到了:
C:\cygwin\lib\boost

我正在尝试编译和运行:

        #include<iostream>
        #include<boost/any.hpp>

        int main()
        {
        boost::any a(5);
        a = 7.67;
        std::cout<<boost::any_cast<double>(a)<<std::endl;
        }
为了解决这个问题,我尽可能多地提供细节,但我不确定为什么会发生这种情况。boost应该在别的地方加前缀吗

any.hpp的路径是:
C:\cygwin\lib\boost\include\boost\any.hpp

$g++-v-o first.cpp的结果是:

            Jason@ITHAKA-DB44CFE1 /home/jason
            $  g++ -v -o first first.cpp
            Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
            Configured with: /managed/gcc-build/final-v3-bootstrap/gcc-3.4.4-999/configure --verbose --program-suffix=-3 --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug
            Thread model: posix
            gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/cc1plus.exe -quiet -v -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api -idirafter /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/lib/../../include/w32api first.cpp -quiet -dumpbase first.cpp -mtune=pentiumpro -auxbase first -version -o /tmp/ccNdgnCA.s
            ignoring nonexistent directory "/usr/local/include"
            ignoring nonexistent directory "/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/include"
            ignoring duplicate directory "/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/lib/../../include/w32api"
            #include "..." search starts here:
            #include <...> search starts here:
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/i686-pc-cygwin
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/backward
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/include
             /usr/include
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api
            End of search list.
            GNU C++ version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) (i686-pc-cygwin)
                    compiled by GNU C version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125).
            GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
            first.cpp:7:2: warning: no newline at end of file
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/as.exe -o /tmp/ccCB9HBt.o /tmp/ccNdgnCA.s
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/collect2.exe -Bdynamic --dll-search-prefix=cyg -o first.exe /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../crt0.o -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../.. /tmp/ccCB9HBt.o -lstdc++ -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc
Jason@ITHAKA-DB44CFE1/home/jason
$g++-v-o first first.cpp
从/usr/lib/gcc/i686 pc cygwin/3.4.4/specs读取规范
配置为://MID/Val-V3-BooTrase/GCC-3.4.4-99 9/Obj-程序后缀=-3,前缀=/UR - Excel前缀=/USR——SysBuffdir=/ETC——LBDIr= /Ur/LIB——LBEXECRIDIR= /UR/LIB -NULTR= /USR/Stuts/MAN-InFoDIr= /Ur/Stuts/Field-使能语言= C、艾达、C++、D、F77、Pascal、java、objc--启用nls--不包含gettext--启用特定于版本的运行时libs--不包含-x--启用libgcj--禁用java awt--使用系统zlib--启用解释器--禁用libgcj调试--启用线程=posix--启用java gc=boehm--禁用win32-registry--启用sjlj异常--启用哈希同步--启用libstdcxx调试
线程模型:posix
gcc版本3.4.4(cygming special,gdc 0.12,使用dmd 0.125)
/4.4.4/4/4////////////////////////////////////////////////////////////////////////////////////////////包括/包括/W3222222API-漂漂漂漂漂漂军///////日日据据据/////////////////////////3.2 2 2日日日据据据据据据据据据/////////////////////////////////3.2 2 2 2 2 2 2日日日至至至至至至至至至至至至至至至至至至至至ASE优先-版本-o/tmp/ccNdgnCA.s
忽略不存在的目录“/usr/local/include”
忽略不存在的目录“/usr/lib/gcc/i686 pc cygwin/3.4.4/../../../../../../i686 pc cygwin/include”
忽略重复目录“/usr/lib/gcc/i686 pc cygwin/3.4.4/../../../../../../../i686 pc cygwin/lib/../../include/w32api”
#包括“…”搜索从这里开始:
#包括搜索从这里开始:
/usr/lib/gcc/i686 pc cygwin/3.4.4/include/c++
/usr/lib/gcc/i686 pc cygwin/3.4.4/include/c++/i686 pc cygwin
/usr/lib/gcc/i686 pc cygwin/3.4.4/include/c++/backward
/usr/lib/gcc/i686 pc cygwin/3.4.4/include
/usr/包括
/usr/lib/gcc/i686 pc cygwin/3.4.4/../../../../../../../include/w32api
搜索列表结束。
GNU C++版本3.4.4(CygMin特别,GDC 0.12,使用DMD 0.125)(I68 6PC CygWin)
由GNUCversion3.4.4编译(CygmingSpecial,GDC0.12,使用DMD0.125)。
GGC启发式:--param GGC min expand=100--param GGC min heapsize=131072
first.cpp:7:2:警告:文件末尾没有换行符
/usr/lib/gcc/i686 pc cygwin/3.4.4/../../../../../../../i686 pc cygwin/bin/as.exe-o/tmp/ccCB9HBt.o/tmp/ccNdgnCA.s
/usr/lib/gcc/i686 pc cygwin/3.4.4/collect2.exe-Bdynamic--dll search prefix=cyg-o first.exe/usr/lib/gcc/i686 pc cygwin/3.4.4/../../../crt0.o-L/usr/lib/gcc/i686 pc cygwin/3.4.4-L/usr/lib/gcc/i686 pc cygwin/3.4/..//tmp/ccCB9HBt.o-lstdc++-lgcc-lcygwin-luser32-lkernel32-ladvapi32-lshell32-lgcc

如果在编译行中添加“-IC:\cygwin\lib\boost\include\”之类的内容会怎么样?我不确定如何正确引用该目录,但它应该是这样的。我想我想知道的是boost是否安装在正确的位置?我宁愿将它安装到正确的位置,也不需要总是以这种方式引用它。如果您使用
-v
标志运行
g++
,它应该会告诉您在哪里搜索头文件。我添加了
g++-v
。你能帮我提个建议吗?你需要告诉它编译一些东西,让它把东西打印出来。因此,尝试编译
first.cpp
文件,但添加
-v
标志。
            Jason@ITHAKA-DB44CFE1 /home/jason
            $  g++ -v -o first first.cpp
            Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
            Configured with: /managed/gcc-build/final-v3-bootstrap/gcc-3.4.4-999/configure --verbose --program-suffix=-3 --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug
            Thread model: posix
            gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/cc1plus.exe -quiet -v -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api -idirafter /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/lib/../../include/w32api first.cpp -quiet -dumpbase first.cpp -mtune=pentiumpro -auxbase first -version -o /tmp/ccNdgnCA.s
            ignoring nonexistent directory "/usr/local/include"
            ignoring nonexistent directory "/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/include"
            ignoring duplicate directory "/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/lib/../../include/w32api"
            #include "..." search starts here:
            #include <...> search starts here:
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/i686-pc-cygwin
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/backward
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/include
             /usr/include
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api
            End of search list.
            GNU C++ version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) (i686-pc-cygwin)
                    compiled by GNU C version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125).
            GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
            first.cpp:7:2: warning: no newline at end of file
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/as.exe -o /tmp/ccCB9HBt.o /tmp/ccNdgnCA.s
             /usr/lib/gcc/i686-pc-cygwin/3.4.4/collect2.exe -Bdynamic --dll-search-prefix=cyg -o first.exe /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../crt0.o -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../.. /tmp/ccCB9HBt.o -lstdc++ -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc