• <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 志華 閱讀(2275) 評論(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)

            隨筆分類

            隨筆檔案

            文章檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            午夜精品久久久久久影视777 | 久久精品青青草原伊人| 免费国产99久久久香蕉| 99久久精品国产高清一区二区| 久久精品亚洲精品国产色婷| 人妻无码精品久久亚瑟影视| 久久影视综合亚洲| 青青草原精品99久久精品66| 日韩精品久久久久久免费| 精品久久久久久中文字幕人妻最新| 国产精品久久久久久| 精品免费久久久久国产一区| 久久天天躁狠狠躁夜夜不卡| 国产女人aaa级久久久级| 国产精品美女久久福利网站| 久久无码AV中文出轨人妻| 国产∨亚洲V天堂无码久久久| 国产精品欧美亚洲韩国日本久久| 青青草原综合久久大伊人导航| 伊人久久大香线蕉亚洲| 精品国产婷婷久久久| 2021国内精品久久久久久影院| 91精品国产乱码久久久久久| 国产精品久久久久久久久久免费| 色综合久久夜色精品国产| 久久99精品国产99久久| 无码人妻久久一区二区三区蜜桃| 国产91色综合久久免费| 久久精品国产2020| 国产免费久久精品99re丫y| 国产精品va久久久久久久| 99久久精品免费看国产一区二区三区 | 久久精品www人人爽人人| 国产免费久久精品99久久| 久久99久久99精品免视看动漫| 久久综合成人网| 无码8090精品久久一区| 色天使久久综合网天天| 久久精品视屏| 久久人妻少妇嫩草AV无码蜜桃| 国产精品成人精品久久久|