導航:首頁 > 源碼編譯 > mac編譯成文件

mac編譯成文件

發布時間:2023-05-17 05:37:41

A. mac編譯java時生成class文件但運行時顯示找不到或無法載入主類

packagea.b.c;

publicclassD{
publicstaticvoidmain(String[]args){
System.out.println("HelloWorld");
}
}

如上的代碼,運行的時候,必須運行 java a.b.c.D

而且,JAVA文件必須在package標識的相應目錄中。比如說

E:acD.java

那編譯後,我必須在E:這個目錄下運行java a.b.c.D

B. 請問,在蘋果mac操作系統下用Xcode寫的程序如何編譯成.exe程序

你需要一個交叉編譯環境,但是這樣做比較麻煩,不如退一步在mac中安裝windows,在windows中編譯exe

C. 蘋果MAC系統怎麼編譯C語言

在 Mac OS X 下學習C語言使用 Xcode。

在 Xcode 上運行C語言程序需要先創建工程,再在工程中添加源代碼。

1、 打開 Xcode,選擇「Create a new Xcode project」創建一個新工程,如下圖所示:

左側是工程目錄,主要包含了工程所用到的文件和資源。單擊「main.c」,即可進入代碼編輯模
式,這里 Xcode 已經為我們創建好了一個「Hello World」小程序。點擊上方的「運行」按鈕,即
可在右下角的選項卡中看到輸出結果。

拓展資料

Xcode是由Apple官方開發的IDE,支持C、C 、 Objective-C、Swift等,可以用來開發 Mac OS X 和 iOS上的應用程序。Xcode最初使用GCC作為 編譯器,後來由於GCC的不配合,改用LLVM。

D. MACBOOK上怎麼把Python3.5寫的程序編譯成EXE

不行。exe是Windows上的執行文件,必須用Windows編譯。
就像Windows系統開發不了iOS軟體。

E. MAC上編譯運行C文件的方法

以自己隨便新建的main.c文件為例子

1.使用cc -c main.c 編譯

2.使用cc main.o 來鏈接並生成可執行的.o文件

3.使用./a.out命令來執行最後生成的可執行文件a.out(運行使用./)

F. 如何用Mac完美編譯OpenJDK 7

1.選擇OS X版本很重要。
目前這里Mac版本是10.10,配置好必要信息以後就開始編,結果錯誤滿屏。簡單看過之後發現是編譯C文件的時候參數有誤,於是查了一下,才知道是LLVM版本太新,不兼容低版本的一些編譯參數。照著上面改了點代碼,但是依舊編譯不過。既然高版本不行,就裝個低版本的唄。由於最新的OS X不能裝低版本的Xcode(裝了Xcode才能裝LLVM),所以去下了一個10.8的OS X裝在虛擬機里,然後再裝個Xcode4.4。
裝好Xcode以後,要手動下載LLVM安裝。打開Xcode,隨便建立一個空項目,然後打開Preferences,找到如下所示的地方開始安裝
第一步咱就這么搞定了。
2.安裝X11
X11這玩意是unix類os使用的圖形系統,10.8以前的OS X是自帶的,但是從此以後就不自帶了。對應於Mac,你需要裝XQuartz,這個沒有版本限制,去網上下最新版即可。裝這個的原因是當時在編譯PolicyTools的時候出現了如下錯誤:
ld: library not found for -lX11
安裝以後要為X11建立軟連接
sudo ln -s /usr/X11/include/X11 /usr/include/X11
3.安裝freetype
linux下編譯openjdk的朋友可能遇到過需要安裝freetype的要求,然後安裝下並將安裝目錄加到環境變數里就好了。但是OS X不一樣,freetype單獨安裝實際是沒用的。雖然單獨安裝能讓編譯前的檢查通過,但是到後面還是會出錯,至於原因我沒找到。那怎麼辦呢?實際上如果安裝好X11,freetype就一起安裝好了,大家可以去X11的目錄里看看是否有freetype。
雖然說安裝了X11就自帶freetype,但是編譯過程中可能會出現如下錯誤:
error: freetype/config/ftheader.h: No such file or directory
實際上就是目錄問題,執行下面這句命令就好了:
sudo ln -s /sr/X11/include/freetype2/freetype/ /usr/X11/include/freetype
4. 配置環境變數
和在Linux下編譯相比,OS X的環境變數配置相對來說簡單很多。只需要配置編譯需要的jdk和llvm的目錄就可以了。
因為很多源代碼都是用本機現有的jdk來編譯,所以預裝一個低版本的jdk是必須的,這里我們需要安裝jdk6。安裝好以後,找到其安裝目錄,並添加如下環境變數:
[plain] view plain
export ALT_BOOTDIR=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
通常來說安裝目錄都應該在/System/Library/Java/JavaVirtualMachines目錄下。如果不在的話,有個技巧可以找到。因為安裝好jdk以後,系統會自動在/usr/bin下建立指向java命令的軟連接,所以執行「ls -l /usr/bin/java」就能看到這個命令指向哪,然後這么順著找下去就能找到。
llvm是編譯C類文件所必須的,所以要把它的所在目錄添加到環境變數里。通常OS X下安裝app都會把app移到Applications目錄下,所以我最初安裝Xcode的時候也把他移進去了,如果你把Xcode放在了別的目錄,那就找到對應的目錄即可。
[plain] view plain
export ALT_COMPILER_PATH=/Applications/Xcode.app/Contents/Developer/usr/bin
5.獲取編譯源碼
按照這上面的第三點獲取源代碼 如果沒有裝hg的需要自行安裝
到現在為止,編譯前的准備工作已經完成。我們可以先執行make sanity執行下編譯前的檢查。如果檢查通過,先來看看具體的編譯命令:

[plain] view plain
make ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true SKIP_DEBUG_BUILD=false SKIP_FASTDEBUG_BUILD=false ALWAYS_PASS_TEST_GAMMA=true HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`
這里有兩個問題:

a. ALLOW_DOWNLOADS=true表示編譯過程中允許下載。因為有些編譯模塊,比如jaxp,編譯腳本中指定了需要下載特定的包。雖然我沒試過設置成false會不會影響編譯,但是還是推薦設置成true。但是這就帶來另一個問題,下載這類包很費時間,有時候就會在那卡很長時間,所以我根據編譯日誌找到編譯腳本中控制下載的具體命令,修改修改並且把用迅雷下的對應包放到正確目錄中,然後重新編譯一遍,就能順利通過了。這一點後面我會詳說。
b. SKIP_DEBUG_BUILD=false SKIP_FASTDEBUG_BUILD=false這兩個表示編譯出來的jdk或者hotspot是否可以debug。FASTDEBUG表示的應該是提供簡單的debug功能,如果想要完整的debug,則SKIP_DEBUG_BUILD必須設置為false。不過這里提醒一點,如果想在debug jdk的時候能看到debug信息,比如變數名等,只需要SKIP_FASTDEBUG_BUILD設置為false就可以了
如果這兩個問題都不是問題,那麼就可以按回車了。如果debug和fastdebug都是false,再加上用虛擬機編譯,所以需要的時間會比較長,你也許需要找一部長一點的電影來消磨一下了。最後編譯出來的結果是這樣的:
j2sdk-image就是自己編譯出來的jdk,可以直接用了。至於其他目錄下的內容,各位自己琢磨吧。
現在來說下ALLOW_DOWNLOADS=true引起的問題。
但是遇到下載很久的包總共有三個:
jaxp145_01.zip、jdk7-jaf-2010_08_19.zip、jdk7-jaxws2_2_4-b03-2011_05_27.zip
之前說過可以修改編譯腳本跳過下載並且用我們已經下載好的,但是實際編譯過程中,這三個包對應的的編譯腳本是動態生成的,所以只能等到他卡在那了,才能停下來並找到腳本修改之。因此因為這三個包,總共需要停3次。,比起一直卡在那好太多了。
假設編譯的是普通版本,即非DEBUG和非FASTDEBUG。下面以jaxp145_01.zip為例子講一下怎麼修改對應腳本:
腳本所在位置:openjdk根目錄/build/macosx-universal/jaxp/build/xml_generated/build-drop-jaxp_src.xml

G. 如何在Mac下編譯C++文件為可執行文件

使用vim新建一個c++程序文件,例如test.cpp
編輯你的c++代碼,然後保存退出
使用g++命令來編譯c++程序,如果編譯成功,則沒有任何提示,如果失敗,會出現程序錯誤的提示
直接執行剛剛編譯的c++程序

H. Mac平台 使用CMake編譯iOS lib

前言
在mac電腦上,可以通過手動創建XCode工程的方式,來實現iOS lib的編譯,但這種方式存在一個很明顯的缺點,在需要指定編譯文件的情況下,比較麻煩~CMake編譯腳本完美的解決了這個問題,可以指定特定的文件參與編譯

xcode https://developer.apple.com/xcode/download

cmake OS X版本 https://cmake.org/download

默認情況 cmake 命令行可能用不了,需要命令行中輸入以下指令

具體可參考 CMake Mac下安裝

ios.toolchain.cmake https://github.com/leetal/ios-cmake/releases

README文件中有工具鏈的使用方式

ios.toolchain.cmake 工具鏈Demo中提供的CMakeLists,可以根據實際情況做下修改。

cmake .. -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64
指令指定了CMakeLists、工具鏈的位置及編譯架構,會生成一個XCode工程。其中.. 表示CMakeLists文件在當前目錄的上一個文件夾中,../表示上一個文件夾,../../表示上兩個文件夾

I. 如何在mac上進行編譯對方是什麼都不知道的mac用戶,我要發給他.cpp文件 他該如何運行

mac實際是linux的變體,如果你的程序沒有界面你的話,直接用mac上的命令行實用g++進行編譯即可

J. 蘋果mac系統下的c語言編譯器有支持生成win系統EXE文件的嗎

當然可以。
MAC系統是free-bsd(unix的一種開源系統分支)為基礎,逐步演化而來的。
實際MAC也是屬於UNIX大家族。只要安裝了c的編譯器,就可以用C編程

當然在mac上,蘋果以object-c提供了一套豐富的api,包括對其圖形界面的互動。所以iphone應用才都用object-c編寫。

如果你用c想開發mac上和window互動的應用,那麼必須調用MAC window的相關API了。至於蘋果提不提供其window下的圖形api的C介面,呵呵那是另外一個問題。
這點我好像沒見過,不敢說一定沒有。
當然如果用其他mac支持的圖形庫開發應用也可以,只是和window互動的功能有些可能就沒有了。

閱讀全文

與mac編譯成文件相關的資料

熱點內容
沈陽用什麼app租房車 瀏覽:855
00後高中生都用什麼app 瀏覽:233
戴爾塔式伺服器怎麼打開獨立顯卡 瀏覽:807
醫療程序員招聘 瀏覽:597
住宿app可砍價是什麼意思 瀏覽:133
java跳出語句 瀏覽:55
javastring個數 瀏覽:928
人工免疫演算法應用 瀏覽:79
有什麼app能收聽俄羅斯廣播電台 瀏覽:34
2015考研紅寶書pdf 瀏覽:443
程序員幾月跳槽合適 瀏覽:443
液壓油可壓縮嗎 瀏覽:946
源泉cad加密文件 瀏覽:127
銀河v10驅動重編譯 瀏覽:891
電腦上文件夾右擊就會崩潰 瀏覽:691
右美維持演算法 瀏覽:940
php基礎編程教程pdf 瀏覽:220
穿越之命令與征服將軍 瀏覽:352
android廣播重復 瀏覽:833
像阿里雲一樣的伺服器 瀏覽:319