• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            BillyYu

            在Linux中利用gcc編譯遇到問題

            最近想開始學習stl,但是利用VC6.0進行編譯的話,總會出現很多警告,而換用VS2005之類的,感覺太繁瑣,為了建立一個空的控制臺程序,要建立那么大一個文件,費得勁比較大,所以想著利用Linux中的gcc來編譯,只要寫一個.cpp的文件就可以了。可是對這個不是很了解,抄了一個文件進行編譯,卻出現好多的錯誤,可能是需要進行這樣那樣的設置的吧。特此立帖,希望達人能給我一些建議,如果可以能提供更好的編譯器,那是更加的好了。謝謝先了

            我用的sample

            sample

            輸出的錯誤:
            [root@localhost Cpp]# gcc SampleVector.cpp
            /tmp/ccJVmST1.o(.text+0x1ee): In function `main':
            : undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char,
            std::char_traits<char> >&)'
            /tmp/ccJVmST1.o(.text+0x1fe): In function `main':
            : undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char,
            std::char_traits<char> >&)'
            /tmp/ccJVmST1.o(.text+0x203): In function `main':
            : undefined reference to `std::cout'
            /tmp/ccJVmST1.o(.text+0x208): In function `main':
            : undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
            /tmp/ccJVmST1.o(.text+0x211): In function `main':
            : undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
            ……
            諸如此類的錯誤,我該怎么辦呢?

            posted on 2007-09-23 13:46 志華 閱讀(2259) 評論(3)  編輯 收藏 引用

            評論

            # re: 在Linux中利用gcc編譯遇到問題 2007-09-23 13:57 志華

            哎呀,以后還是要遵循一條原則:知之為知之,不知google之。 后來我去找了一下,這個錯誤是因為用錯了命令所致的,在linux中對C++的應用g++進行編譯,順便貼一下一個博客中的內容

            Linux C++ 自學筆記
            作者:未知 來源:http://www.51one.net (2005-03-21 13:39:10)


            Linux C++ 自學筆記
            1、安裝系統
            這就不用說了吧,我裝的是Redhat Linux 7.2,安裝過程智能化,價格也不貴(

            9CD+500頁手冊共69RMB),大家也都支持支持正版,還有一些簡單命令
            ls - 列目錄
            cd - 進入目錄
            man - 幫助
            gcc - 編譯器

            2、文本編輯器
            開如想用vi,發現不太好用,在圖形界面下找了個Advanced Editor,當文件存為.c或

            .cpp后,關鍵字自動以不同顏色顯示(呵呵,比windows的帥多了),支持縮格^I,趕

            快加入Favorites,菜單位置在KDE menus->Editors->Advanced Editor

            3、編譯C-“Hello world!”
            #include <stdio.h>

            int main(void)
            {
            printf("Hello world!\n");
            return 0;
            }
            存盤為Hello.c
            在命令行下輸入:gcc Hello.c -o hello (要注意大小寫哦)
            編譯時可能有如下警告:
            no newline at end of file
            在文件最后補一個新行即可
            執行文件:./hello
            呵呵,Hello world!可愛的字眼就出來了

            4、編譯C++ -“Hello world!”
            #include <iostream.h>

            int main()
            {
            cout << "Hello world!\n" << endl;
            return 0;
            }
            編譯出錯: undefined reference to ''cout''
            呀!怎么連cout都不認識,趕快查查,看man怎么說:
            man gcc
            哦,原來要用g++編譯C++程序
            g++ Hello.cpp -o hello

            5、編譯類
            有三個文件:Hello.h、Hello.cpp、MyFirst.cpp,內容如下:
            file://Hello.h
            #ifndef HelloH
            #define HelloH

            class Hello
            {
            Hello();
            void Display();
            }

            file://Hello.cpp
            #include "Hello.h"
            #include <iostream.h>

            Hello::Hello()
            {
            }

            Hello::Display()
            {
            cout << "Hello world!\n" << endl;
            }

            file://MyFirst.cpp
            #include <iostream.h>
            #include "Hello.h"

            int main()
            {
            Hello theHello;
            theHello->Display();

            return 0;
            }
            開始編譯:g++ MyFirst.cpp -o MyFirst
            呀,出錯:
            undefined reference to ''Hello::Hello(void)''
            undefined reference to ''Hello::Display()''
            呵,看來是不能鏈接Hello.cpp出錯,先改一下
            在MyFirst.cpp中:將#include "Hello.h"改為#include "Hello.cpp"
            編譯通過,在查查幫助,有參數 -c 可以只編譯不鏈接

            呵呵,天黑了,玩把帝國,晚上看看書,明天再接著來。


              回復  更多評論   

            # re: 在Linux中利用gcc編譯遇到問題 2007-09-23 21:51 AMXTSHMF

            呵呵,需要了解一下gcc編譯器,其實g++編譯時他會調用gcc,然后鏈接。  回復  更多評論   

            # re: 在Linux中利用gcc編譯遇到問題 2009-06-14 10:51 老劉

            你cout 命名空間都沒引用 前面還得加 #include <iostream>
            using namespace std;  回復  更多評論   

            <2010年12月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            導航

            統計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            文章檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            99久久综合国产精品二区| 无码国产69精品久久久久网站| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久Av无码精品人妻系列 | 日韩一区二区久久久久久| 国产亚洲色婷婷久久99精品91| 99精品国产免费久久久久久下载| 伊人久久精品无码av一区| 久久婷婷色综合一区二区| 99精品国产在热久久无毒不卡| 伊人伊成久久人综合网777| 久久福利青草精品资源站免费| 亚洲国产另类久久久精品黑人| 99999久久久久久亚洲| 亚洲精品午夜国产va久久| 99精品久久精品一区二区| 精品久久久久久无码国产| 精品国产一区二区三区久久久狼| 久久久久亚洲精品中文字幕| 久久久久久免费一区二区三区| 2021最新久久久视精品爱| 久久婷婷人人澡人人| 国产精品久久自在自线观看| 亚洲精品乱码久久久久久按摩 | 久久婷婷五月综合国产尤物app | 久久久久亚洲AV成人网人人网站 | av无码久久久久久不卡网站| 亚洲国产精品无码久久青草| 国产亚州精品女人久久久久久| 国产精品免费福利久久| 久久精品欧美日韩精品| 一本色道久久99一综合| 久久这里都是精品| 久久久久久久久66精品片| 天堂无码久久综合东京热| 国产精品美女久久久久AV福利| 久久久久中文字幕| 99久久99久久精品国产| 久久涩综合| 亚洲精品tv久久久久| 偷偷做久久久久网站|