當前位置:首頁 » 編程軟體 » objectc編譯

objectc編譯

發布時間: 2022-07-07 02:34:18

1. 怎麼在ubuntu上的gcc 來編譯object-C

安裝完畢後,便可以透過make來編譯
###############################################################################
如果出現下面錯誤,則表示找不到NextSetup的相關liberary,必須要修正script shell為下
gcc `gnustep-config --objc-flags` -lgnustep-base hello.m -o hello
或是使用Automake的話,必須要再Makefile.am修改為

java代碼
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=demo0
demo0_SOURCES= hello.m

INCLUDES= -I/usr/local/include/GNUstep \
-I/usr/include/GNUstep
demo0_LDADD = -lgnustep-base -lpthread -lobjc -lm

error: cannot find interface declaration for 『NXConstantString』

###############################################################################
如果出現以下錯誤,表示你的gcc尚不支援cc1obj,必須要安裝gobjc
gcc: error trying to exec 'cc1obj': execvp: No such file or directory

>>sudo apt-get install gobjc

2. object-c的介紹

Object-C通常寫作Objective-C或者Obj-C或OC,是根據C語言所衍生出來的語言,繼承了C語言的特性,是擴充C的面向對象編程語言。它主要使用於Mac OS X和GNUstep這兩個使用OpenStep標準的系統,而在NeXTSTEP和OpenStep中它更是基本語言。Objective-C可以在gcc運作的系統寫和編譯,因為gcc含Objective-C的編譯器。在MAC OS X系統下,運用蘋果提供的SDK等開發工具包,可以用來做IOS開發,開發後的程序在Iphone虛擬機中進行測試,運用的主要語言為Object-c。與C#類似。Object-c僅支持單一父類繼承,不支持多重繼承。

3. objectivec用什麼編譯器

當然是X-code啦,有了java 和c++的基礎,objective-c 很好上手,
要好好學習,還是建議買蘋果電腦

不過我記得 gcc/g++也都支持對object c源碼進行編譯。

4. 如何在Windows上編譯Objective-C

1、安裝GNUstep
GNUstep Windows Installer提供了Windows平台下的Object-C的模擬開發環境,一共有四個軟體包,其中GNUstep System和GNUstep Core是必裝的,GNUstep Devel和Cairo Backend是選裝的。只安裝前兩個就夠了。

2、編寫Objective-C代碼
安裝完成後,在開始菜單里的GNUstep選項里執行shell,就能打開命令行。直接在Windows里進入C:/GNUstep/home/Administrator(我的是Administrator,可能有的不一樣)目錄,在這里用你喜歡的工具(現在UltraEdit和Notepad++編輯器好像可以代碼高亮)編寫Object-C程序。
如:HelloWorld.m

#import <Foundation/Foundation.h>

int main (int argc, const char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello World!");
[pool drain];

return 0;
}

3、配置環境變數
這一步很重要。GNUstep.sh是用來設置GNUstep開發環境變數的,如果沒有執行,就會有很多頭文件,庫文件,命令找不到

在一個目錄里寫好了源代碼以後,編寫一個make配置文件,名字必須叫GNUmakefile,內容是

include $(GNUSTEP_MAKEFILES)/common.make

TOOL_NAME=Test
Test_OBJC_FILES=HelloWorld.m

include $(GNUSTEP_MAKEFILES)/tool.make

可以修改上面的黑體部分

然後就是
make

命令運行成功就可以看到新增了一個obj目錄,裡面就有你要的可執行文件和.o文件。

OK 搞定了。

5. 如何在windows 上用Sublime Text編譯objective-c

方法如下: 1、安裝GNUstep GNUstep Windows Installer提供了Windows平台下的Object-C的模擬開發環境,一共有四個軟體包,其中GNUstep System和GNUstep Core是必裝的,GNUstep Devel和Cairo Backend是選裝的。只安裝前兩個就夠了。

6. Object-C 怎麼在Window環境下編譯 網上的那個GNUstep 怎麼都編譯不成功

如何修改應用程序的名字 在Project--Setting--Link:output file name --Debug/AppName.exe
----------------------------------------------------
VC6.0的18個實用小技巧
1.檢測程序中的括弧是否匹配
把游標移動到需要檢測的括弧(如大括弧{}、方括弧[]、圓括弧()和尖括弧)前面,鍵入快捷鍵「Ctrl+]」。如果括弧匹配正確,游標就跳到匹配的括弧處,否則游標不移動,並且機箱喇叭還會發出一聲警告聲。
2.查看一個宏(或變數、函數)的宏定義
把游標移動到你想知道的一個宏上,就比如說最常見的DECLARE_MAP_MESSAGE上按一下F12(或右鍵菜單中的Go To Defition Of …),如果沒有建立Browse files,會出現提示對話框,確定,然後就會跳到定義那些東西的地方。
相當可喜的是,它也可以看到Microsoft定義的系統宏,非常good.
3.格式化一段亂七八糟的源代碼
選中那段源代碼,按ATL+F8。
4.在編輯狀態下發現成員變數或函數不能顯示
刪除該項目擴展名為.ncb文件,重新打開該項目。
5.如何整理ClassView視圖中大量的類
可以在classview 視圖中右鍵新建文件夾(new folder),再把具有相近性質的類拖到對應的文件夾中,使整個視圖看上去清晰明了.
6.定位預處理指定
在源文件中定位游標到對稱的#if, #endif,使用Ctrl+K.
7.如何添加系統中Lib到當前項目
在Project | Settings | Link | Object/library moles:輸入Lib名稱,不同的Lib之間用空格格開.
8.如何添加系統中的頭文件(.h)到當前項目.
#include ,告訴編譯到VC系統目錄去找;使用#include "FileName.h",告訴編譯在當前目錄找.
9.如何在Studio使用匯編調試
在WorkBench的Debugger狀態下按CTRL+F7.
10.怎樣處理ClassZiard找不到的系統消息
如果要在ClassWizard中處理WM_NCHITTEST等系統消息,請在ClassWizard中Class Info頁中將Message filter改為Window就有了.
11.如何干凈的刪除一個類
先從Workspace中的FileView中刪除對應的.h和.cpp文件,再關閉項目,從實際的文件夾中刪除對應的.h和.cpp文件與.clw文件。
12.在Studio中快速切換兩個文件
有時,我們需要在最近使用的兩個文件中快速切換,換Ctrl+F6。這在兩個文件不相今的時候就有用的.
13.取得源程序預處理後的結果:
在Studio里,可以在-PROJECT- SETTINGS-C/C++-Project Options中,在最後加上 /P /EP這兩個編譯開關即可做到"只進行預處理".就可以了。編譯以後就可以在源程序目錄中發現「文件名.I 」的文本文件。這就是預處理後的結果。
(注意註:區分大小定,請用大定/P)
14.在Debug模式中查看WINAPI調用後的返回值:
很簡單,且實用:在watch中加入@hr,err。在CSDN的文檔中心有一篇講得更細,請參考。
15.產生指定源程序文件的匯編代碼:
從IDE菜單的Project-Setting打開項目設置,按如下文件做:
1.先在左邊選擇指定文件,可以多選。
2. 在右邊的C++屬性頁中,在category中選擇List Files,接著在下面的List Files Type中選擇Assembly and source code(或選擇其它),最後在List File Name中輸入在個C/C++源文件產生的相應的匯編代碼的文件。
3.編譯整個工程。
16.手工編譯純資源成dll:
Rc.exe /v data.rc
Cvtres.exe /machine:ix86 data.res
Link /SUBSYSTEM:WINDOWS /DLL /NOENTRY data.res ;編譯成DLL文件
這種方式創建的DLL是最小的,比起你用Win 32 Dynamic Libray等產生的更小。
17:怎樣快速生成一個與現有項目除了項目名外完全相同的新項目?
利用File菜單下生成新項目中的Custom AppWizard ,選擇 An existing Project ,然後選擇現有項目的項目文件名(*.dsp)Finish,編譯後就生成一個可以生成與現有項目相同但可以重新取名的項目的AppWizard。你可以象用MFC AppWizard一樣用它。如果不想用了,可以在VC 安裝目錄下Common\MSDev98\Template目錄中刪除該Wizard中.awx和 .pdb文件。
18:如果想把整個項目拷貝到軟盤,那些文件可以刪掉?
除了項目文件夾中debug文件夾可以刪除外,.ncb,.clw,.opt 等文件也可以刪除,這些文件Rebuilt all後可以重新生成。
附:VC項目文件說明
.dsp 項目參數配置文件,這個文件太重要,重點保護對象。.
.dsw 工作區文件,重要性一般,因為它信息不我,容易恢復。
以下文件在項目中是可丟棄的,有些文件刪除後,VC會自動生成的。
.clw ClassWizard信息文件,實際上是INI文件的格式,有興趣可以研究一下.有時候ClassWizard出問題,手工修改CLW文件可以解決.如果此文件不存在的話,每次用ClassWizard的時候繪提示你是否重建.
.ncb 無編譯瀏覽文件(no compile browser)。當自動完成功能出問題時可以刪除此文件。build後會自動生成。
.opt 工程關於開發環境的參數文件。如工具條位置等信息;(可丟棄)
.aps (AppStudio File),資源輔助文件,二進制格式,一般不用去管他.
.plg 是編譯信息文件,編譯時的error和warning信息文件(實際上是一個html文件),一般用處不大.在Tools-Options裡面有個選項可以控制這個文件的生成.
.hpj (Help Project)是生成幫助文件的工程,用microsfot Help Compiler可以處理.
.mdp (Microsoft DevStudio Project)是舊版本的項目文件,如果要打開此文件的話,會提示你是否轉換成新的DSP格式.
.bsc 是用於瀏覽項目信息的,如果用Source Brower的話就必須有這個文件.如果不用這個功能的話,可以在Project Options裡面去掉Generate Browse Info File,可以加快編譯速度.
.map 是執行文件的映像信息紀錄文件,除非對系統底層非常熟悉,這個文件一般用不著.
.pch (Pre-Compiled File)是預編譯文件,可以加快編譯速度,但是文件非常大.
.pdb (Program Database)記錄了程序有關的一些數據和調試信息,在調試的時候可能有用.
.exp 只有在編譯DLL的時候才會生成,記錄了DLL文件中的一些信息.一般也沒什麼用.

7. Objective-C命令行下編譯:

編譯命令的問題,沒有鏈接Foundation庫
一定要用命令編譯嗎?
加上這個參數試試,有點麻煩就是了

-framework Foundation

8. 關於linux object-c編譯環境搭建

GNUStep可以模擬蘋果框架,但是已經很古老了。不建議使用。
gcc 可以編譯非 蘋果框架,但是 是objective-c的源碼,需要安裝 libobjc 吧,可以用gcc編譯 m 文件。
但是圖形編程,只能使用 MacOSX 的XCode了。。。。別無他選,GNUStep並不好。

9. object c 怎麼同時使用object-c object-c++兩種語言編譯

用C編譯的庫用OC,用C++編譯的庫用OC++,為了避免沖突,最好將Compile Sources As設置為"According to File Type",將需要用到C++編譯的庫的m文件改名為mm,Objective-C天然支持C語言混編,只是對C++不怎麼友好。註:使用"According to File Type"時,需要將C方言設置為GUN89或者更高(再說C89的標准有些確實比較惡心),不然系統自帶的OC庫會編譯不通過。

10. 求助···編譯Object-C

1. 搭建GNUStep 下載四個文件 完全安裝。

2. 配置GNUstep/etc/profile文件
在末尾加入如下配置(主要是配置msys環境):
GNUSTEP_MAKEFILES=/usr/GNUstep/System/Library/Makefiles/
LD_LIBRARY_PATH=/usr/local/lib/:/usr/GNUstep/Local/Library/Libraries/:/usr/GNUstep/System/Library/Libraries/
LIBRARY_PATH=/usr/local/lib/:/usr/GNUstep/Local/Library/Libraries/:/usr/GNUstep/System/Library/Libraries/
OBJC_INCLUDE_PATH=/usr/GNUstep/Local/Library/Headers/:/usr/GNUstep/System/Library/Headers/
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
PATH=$PATH:/usr/GNUstep/Local/Tools/:/usr/GNUstep/System/Tools/
export GNUSTEP_MAKEFILES LD_LIBRARY_PATH LIBRARY_PATH OBJC_INCLUDE_PATH PKG_CONFIG_PATH
3. 源文件和GNUmakefile
helloworld.m
#import <Foundation/Foundation.h>

int main(char argc, char* argv[]) {
NSLog(@"hello world");
return0;
}
GNUmakefile
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = helloworld
helloworld_OBJC_FILES = helloworld.m
include $(GNUSTEP_MAKEFILES)/tool.make
4. 編譯
通過gnustep shell進入home目錄make一下就行了。(常用命令:ls pwd cd)
看網上介紹的編譯命令如:
#!/bin/sh

gcc -o helloworld helloworld.m \
-fconstant-string-class=NSConstantString \
-I /GNUstep/System/Library/Headers/ \
-L /GNUstep/System/Library/Libraries/ \
-lobjc \
-lgnustep-base
基本上都是第三步中沒有設置環境所以需要添加編譯選項,使用makefile和第三步預設的編譯環境基本可以解決編譯問題了。

熱點內容
易語言問道源碼 發布:2025-02-09 12:59:03 瀏覽:661
ip和伺服器有關嗎 發布:2025-02-09 12:51:26 瀏覽:950
極光免費腳本 發布:2025-02-09 12:50:33 瀏覽:394
c存儲過程返回結果集 發布:2025-02-09 12:42:00 瀏覽:150
gs哪個配置性價比高 發布:2025-02-09 12:35:57 瀏覽:283
java棧數組 發布:2025-02-09 12:33:37 瀏覽:557
php上傳文件form 發布:2025-02-09 12:33:31 瀏覽:157
冠道如何選擇配置 發布:2025-02-09 12:20:21 瀏覽:971
為什麼安卓手機wearpro搜不到手錶 發布:2025-02-09 12:16:07 瀏覽:671
伺服器安全怎麼做 發布:2025-02-09 12:08:08 瀏覽:485