• <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;  回復  更多評論   

            <2011年1月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            導航

            統計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            文章檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            91久久精品国产免费直播| 久久99国产综合精品女同| 精品久久综合1区2区3区激情| 国产精品久久久久久影院| 久久综合九色综合久99| 深夜久久AAAAA级毛片免费看| 久久天天躁夜夜躁狠狠躁2022| 久久国产欧美日韩精品| 久久精品亚洲福利| 99久久超碰中文字幕伊人| 日韩精品无码久久一区二区三| 久久人人妻人人爽人人爽| 久久青青草原精品国产不卡| 日韩精品久久无码中文字幕| 精品无码久久久久久久久久| 精品熟女少妇av免费久久| 久久这里只精品99re66| 丰满少妇人妻久久久久久4| 久久精品国产亚洲av麻豆小说 | 日韩人妻无码精品久久免费一 | 久久精品国产男包| .精品久久久麻豆国产精品| 亚洲国产精品一区二区三区久久| 蜜桃麻豆www久久| 国内精品久久久久影院日本 | 久久被窝电影亚洲爽爽爽| 久久婷婷五月综合成人D啪 | 91精品国产91久久综合| 久久久久久亚洲精品影院| 久久久久久A亚洲欧洲AV冫| Xx性欧美肥妇精品久久久久久| 久久亚洲精精品中文字幕| 天堂久久天堂AV色综合| 伊人久久大香线蕉综合影院首页| 久久99热这里只频精品6| 久久综合九色综合久99| 亚洲国产成人久久综合一区77| 无码任你躁久久久久久久| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久亚洲国产精品五月天婷| 久久国产热这里只有精品|