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

            我用的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 志華 閱讀(2263) 評論(3)  編輯 收藏 引用

            評論

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

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

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


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

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

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

            .cpp后,關(guān)鍵字自動以不同顏色顯示(呵呵,比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
            在文件最后補一個新行即可
            執(zhí)行文件:./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,內(nèi)容如下:
            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"
            編譯通過,在查查幫助,有參數(shù) -c 可以只編譯不鏈接

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


              回復  更多評論   

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

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

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

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

            <2007年9月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            導航

            統(tǒng)計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            文章檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            99久久99久久精品国产片果冻| 久久影视综合亚洲| 久久天天躁狠狠躁夜夜avapp| 久久人人爽人人爽人人AV东京热| 99久久精品国产高清一区二区| 久久久99精品成人片中文字幕 | avtt天堂网久久精品| 久久九色综合九色99伊人| 久久狠狠高潮亚洲精品| 久久精品国产色蜜蜜麻豆| 久久亚洲电影| 狠狠色丁香婷婷综合久久来| 日日狠狠久久偷偷色综合免费| 久久亚洲精品无码AV红樱桃| 国产精品99久久久久久宅男| 欧洲成人午夜精品无码区久久| 久久夜色精品国产亚洲av| 国产精品青草久久久久婷婷 | 一本色综合久久| 九九久久精品国产| 久久精品国产精品青草app| 久久精品国产久精国产果冻传媒| 久久精品国产一区二区三区| 色综合久久久久| 99久久国产亚洲高清观看2024| 久久综合国产乱子伦精品免费| 久久久精品人妻无码专区不卡| 久久精品www| 精品久久久久久国产免费了| 久久美女人爽女人爽| 久久久久四虎国产精品| 久久亚洲欧美日本精品| 2020最新久久久视精品爱 | 色综合色天天久久婷婷基地| 国产精品免费福利久久| 精品熟女少妇a∨免费久久| 久久亚洲AV成人无码电影| 91视频国产91久久久| 国内精品久久久人妻中文字幕| 91精品国产91久久久久福利| 亚洲国产精品久久久久婷婷老年|