簡體   English   中英

帶有Microsoft Visual C ++ 2010 Express的FLTK-1.1.10

[英]FLTK-1.1.10 with Microsoft Visual C++ 2010 Express

我正在嘗試遵循編程-使用C的原理和實踐,並且到目前為止我仍然很喜歡它。 上周初,我遇到了一個問題,該問題已停止進一步發展。 我需要安裝FLTK。

在成功地構建並運行FLTK-1.3.0(請參閱我的其他問題/解決方案)之后,我遇到了它不能與Stroustrup的頭文件一起運行的問題。 我認為這是由於版本不同而引起的,但不確定。

所以我回到嘗試使1.1開始工作的地方。

我無法使用MVC ++ 2010從他的網站構建FLTK-1.1.10或fltk-1.1.9。

所以這引出了我們的問題

1)如果我使用MinGW / Msys構建它,它是否仍可以從VC ++運行? 到目前為止,我一直在嘗試找出MinGW / Msys並沒有取得太大的成功,所以我還沒有構建任何東西,所以我自己還無法測試。

2)如果它將無法運行MinGW構建,是否可以使用VC ++構建它?

從我的理解-Building將在FLTK目錄中創建更多文件,使我可以使用它。 -MinGW使用與VC ++不同的編譯器,它們不能很好地配合使用

我覺得我在這部分上浪費了很多時間,但是這是一個很好的學習經驗。 對我的血壓可能不太好。

我想在這一點上,我的主要選擇是移至另一個IDE。 Eclipse看起來非常不錯。 但是我真的很想解決這個問題,而不是放棄VC ++。

我的上一篇文章( Microsoft 2010 visual c,安裝FLTK )詳細介紹了在編譯過程中發生的錯誤(如果有興趣的話)。

我已經在這個問題上進行了大量的搜索,但尚未找到真正的解決方案。 我希望這篇文章能為我自己和其他未來的程序員澄清這個問題。

好吧,這花了我足夠長的時間,但我終於明白了。 這似乎是一塊土地。

  1. FLTK 1.3.0與頭文件兼容,但是graph.cpp需要做一些小的更改才能運行。
  2. FLTK 1.1.10無法在Visual Express 2010中正常構建,但可以在2008版本中使用。
  3. 頭文件可以同時使用,但是您需要對Graph.cpp進行一些小的更改才能使其工作。

經歷了所有的挫折之后,我認為為可能處於類似情況的人們寫一份逐步指南是很公平的。 本書面向的是新手程序員,而不是已經能夠調試其標頭和cpp文件的人員。 抱歉,解決方案有點冗長,但是我認為這僅適用於像我這樣可能會遇到的人。

Visual Express 2008/2010指南

1)建立FLTK。 聽起來並不那么容易,但還算不錯。 在2008年使用FLTK 1.1.0。 在2010年使用1.3.0。

  1. 對於2010,請參閱我在此處編寫的解決方案-Microsoft 2010 visual c,安裝FLTK

  2. 對於2008年,請運行C:\\ fltk-1.1.10 \\ vc2005 \\ fltk.lib.vcproj。

    如果在構建過程中出現任何錯誤,則需要找出問題所在。

2)建立一個新項目

  1. 對於2010年,請遵循上述指南
  2. 對於2008年–基本相同的想法,但有一些更改
    1. 確保將1.3.0的所有引用更改為1.1.10
    2. 在輸入部分,不要用分號分隔.lib文件; 請使用空格代替,因此鏈接器>輸入>其他依賴項將如下所示:c:\\ fltk-1.1.10 \\ lib \\ fltk.lib wsock32.lib comctl32.lib c:\\ fltk-1.1.10 \\ lib \\ fltkjpeg。 lib c:\\ fltk-1.1.10 \\ lib \\ fltkimages.lib

3)運行測試程序以確保您的FLTK正常運行,請嘗試-

#include <FL/Fl.h>
#include <FL/Fl_Window.h>

int main()
{
Fl_Window win(320,200);
win.show();
return Fl::run();
}

如果此處有任何錯誤,則將無法繼續。

4)將他網站上的文件放到正確的文件夾中。

  1. 對於2008年的名為headertest的項目-
    1. C:\\ Users \\ User \\ Documents \\ Visual Studio 2008 \\ Projects \\ headertest \\將std_lib_facilities.h放在此處
    2. C:\\ Users \\ User \\ Documents \\ Visual Studio 2008 \\ Projects \\ headertest \\ headertest \\將他網站上的所有其他.cpp和.h文件放在此處,當然您的headertest.cpp和.h(如果需要)在這里創建。
    3. 確保按照上面我的指南中的步驟正確設置了項目。
  2. 對於2010年名為Fri_FLTK_Test的項目-
    1. 執行與上述相同的操作,但是將文件放在等效的2010中-C:\\ Users \\ User \\ Documents \\ Visual Studio 2008 \\ Projects \\ headertest和..Visual Studio 2010 \\ Projects \\ Fri_FLTK_Test \\ Fri_FLTK_Test

5)將.h和.cpp文件添加到活動項目中。

  1. 只需右鍵單擊項目add> Existing Items-在默認目錄中選擇所有.h和.cpp文件。 您無需添加.. \\ std_lib_facilities.h,因為您已經直接引用了它。 不要問我為什么,但這行得通。

6)現在,您將發現,如果您運行該項目,則會遇到很多錯誤,最重要的內容是-

c:\\ users \\ user \\ documents \\ Visual Studio 2010 \\ projects \\ fri_fltk_test \\ graph.cpp(237):錯誤C2084:函數'Graph_lib :: Circle :: Circle(Point,int)'已經具有主體

7)我們可以通過打開Graph.cpp並注釋掉Circle :: Circle部分來解決此問題,例如-

//Circle::Circle(Point p, int rr)    // center and radius
//:r(rr)
//{
//    add(Point(p.x-r,p.y-r));       // store top-left corner
//}

8)保存更改並再次運行您的項目,您應該發現它可以工作! 9)現在最好的部分是,從書中放入代碼(或從– Chapter13 / chapter.13.2.cpp復制並運行它!它應該可以工作。

任務完成!

認為之后我應該喝啤酒! 我花了很多時間弄清楚了所有這些,並看了一下Msys,g ++,Netbeans和許多其他與IDE相關的東西。 但是讓它按我原來的選擇工作是一種很好的感覺。 我希望本指南可以幫助處於類似情況的其他人。

特別感謝Dream.In.Code論壇上的跳傘運動員在此問題上的幫助。

可能是因為您正在運行Express版本嗎? 我遇到過類似的問題,因此不得不切換到舊版的Express。

你看過這個帖子嗎?

http://answerpot.com/showthread.php?275672-FLTK+%26+Visual+C%2B%2B+Express%3F

-Si

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM