<small id='WyszX'></small><noframes id='WyszX'>

      1. <tfoot id='WyszX'></tfoot>

      2. <i id='WyszX'><tr id='WyszX'><dt id='WyszX'><q id='WyszX'><span id='WyszX'><b id='WyszX'><form id='WyszX'><ins id='WyszX'></ins><ul id='WyszX'></ul><sub id='WyszX'></sub></form><legend id='WyszX'></legend><bdo id='WyszX'><pre id='WyszX'><center id='WyszX'></center></pre></bdo></b><th id='WyszX'></th></span></q></dt></tr></i><div id='WyszX'><tfoot id='WyszX'></tfoot><dl id='WyszX'><fieldset id='WyszX'></fieldset></dl></div>
          <bdo id='WyszX'></bdo><ul id='WyszX'></ul>
        <legend id='WyszX'><style id='WyszX'><dir id='WyszX'><q id='WyszX'></q></dir></style></legend>

        什么时候需要使用标志 -stdlib=libstdc++?

        时间:2023-09-19

            <tbody id='Fljqx'></tbody>
            1. <tfoot id='Fljqx'></tfoot>
              <legend id='Fljqx'><style id='Fljqx'><dir id='Fljqx'><q id='Fljqx'></q></dir></style></legend>

              <small id='Fljqx'></small><noframes id='Fljqx'>

              <i id='Fljqx'><tr id='Fljqx'><dt id='Fljqx'><q id='Fljqx'><span id='Fljqx'><b id='Fljqx'><form id='Fljqx'><ins id='Fljqx'></ins><ul id='Fljqx'></ul><sub id='Fljqx'></sub></form><legend id='Fljqx'></legend><bdo id='Fljqx'><pre id='Fljqx'><center id='Fljqx'></center></pre></bdo></b><th id='Fljqx'></th></span></q></dt></tr></i><div id='Fljqx'><tfoot id='Fljqx'></tfoot><dl id='Fljqx'><fieldset id='Fljqx'></fieldset></dl></div>
                <bdo id='Fljqx'></bdo><ul id='Fljqx'></ul>

                  本文介绍了什么时候需要使用标志 -stdlib=libstdc++?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  gcc 编译时,编译器和链接器什么时候需要使用标志-stdlib=libstdc++?

                  When is it necessary to use use the flag -stdlib=libstdc++ for the compiler and linker when compiling with gcc?

                  编译器会自动使用libstdc++吗?

                  Does the compiler automatically use libstdc++?

                  我在 Ubuntu 13.10 上使用 gcc4.8.2,我想使用 c++11 标准.我已经将 -std=c++11 传递给编译器.

                  I am using gcc4.8.2 on Ubuntu 13.10 and I would like to use the c++11 standard. I already pass -std=c++11 to the compiler.

                  推荐答案

                  在 Linux 上:一般来说,所有常用的 linux 发行版都会默认使用 libstdc++,并且所有现代版本的 GCC 都带有支持 C++11 的 libstdc++.如果要在此处编译 c++11 代码,请使用以下方法之一:

                  On Linux: In general, all commonly available linux distributions will use libstdc++ by default, and all modern versions of GCC come with a libstdc++ that supports C++11. If you want to compile c++11 code here, use one of:

                  • g++ -std=c++11 input.cxx -o a.out(通常是 GNU 编译器)
                  • g++ -std=gnu++11 input.cxx -o a.out
                  • g++ -std=c++11 input.cxx -o a.out (usually GNU compiler)
                  • g++ -std=gnu++11 input.cxx -o a.out

                  在 Mavericks 之前的 OS X 上:g++ 实际上是 clang++ 的别名,Apple 的旧版本 libstdc++ 是默认值.您可以通过传递 -stdlib=libc++ 来使用 libc++(包括 c++11 库支持).如果要在此处编译 c++11 代码,请使用以下方法之一:

                  On OS X before Mavericks: g++ was actually an alias for clang++ and Apple's old version of libstdc++ was the default. You could use libc++ (which included c++11 library support) by passing -stdlib=libc++. If you want to compile c++11 code here, use one of:

                  • g++ -std=c++11 -stdlib=libc++ input.cxx -o a.out(clang,不是 GNU 编译器!)
                  • g++ -std=gnu++11 -stdlib=libc++ input.cxx -o a.out(clang,不是 GNU 编译器!)
                  • clang++ -std=c++11 -stdlib=libc++ input.cxx -o a.out
                  • clang++ -std=gnu++11 -stdlib=libc++ input.cxx -o a.out
                  • g++ -std=c++11 -stdlib=libc++ input.cxx -o a.out (clang, not GNU compiler!)
                  • g++ -std=gnu++11 -stdlib=libc++ input.cxx -o a.out (clang, not GNU compiler!)
                  • clang++ -std=c++11 -stdlib=libc++ input.cxx -o a.out
                  • clang++ -std=gnu++11 -stdlib=libc++ input.cxx -o a.out

                  自小牛队以来在 OS X 上:libc++ 是默认设置,您不应传递任何 -stdlib=<...> 标志.从 Xcode 10 开始,不支持 构建 libstdc++根本没有.针对 libstdc++ 构建的现有代码将继续工作,因为仍然提供 libstdc++.6.dylib,但不支持针对 libstdc++ 编译新代码.

                  On OS X since Mavericks: libc++ is the default and you should not pass any -stdlib=<...> flag. Since Xcode 10, building against libstdc++ is not supported at all anymore. Existing code built against libstdc++ will keep working because libstdc++.6.dylib is still provided, but compiling new code against libstdc++ is not supported.

                  • clang++ -std=c++11 input.cxx -o a.out
                  • clang++ -std=gnu++11 input.cxx -o a.out

                  这篇关于什么时候需要使用标志 -stdlib=libstdc++?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:何时以及如何使用 GCC 的堆栈保护功能? 下一篇:如果忽略返回值,如何发出警告?

                  相关文章

                  最新文章

                • <legend id='rlQZn'><style id='rlQZn'><dir id='rlQZn'><q id='rlQZn'></q></dir></style></legend>

                  <small id='rlQZn'></small><noframes id='rlQZn'>

                • <tfoot id='rlQZn'></tfoot>

                    <bdo id='rlQZn'></bdo><ul id='rlQZn'></ul>

                  <i id='rlQZn'><tr id='rlQZn'><dt id='rlQZn'><q id='rlQZn'><span id='rlQZn'><b id='rlQZn'><form id='rlQZn'><ins id='rlQZn'></ins><ul id='rlQZn'></ul><sub id='rlQZn'></sub></form><legend id='rlQZn'></legend><bdo id='rlQZn'><pre id='rlQZn'><center id='rlQZn'></center></pre></bdo></b><th id='rlQZn'></th></span></q></dt></tr></i><div id='rlQZn'><tfoot id='rlQZn'></tfoot><dl id='rlQZn'><fieldset id='rlQZn'></fieldset></dl></div>