mac編譯makefile
Ⅰ mac系統下在含有makefile文件的目錄下make編譯後出現錯誤
首先刪除scripts/kconfig/mconf.o
修改scripts/kconfig/lxdialog/check-lxdialog.sh 中 ldflags 如下:
#Whatlibrarytolink
ldflags()
{
forextinsoadylib;do
forlibinncurseswncursescurses;do
$cc-print-file-name=lib${lib}.${ext}|grep-q/
if[$?-eq0];then
echo"-l${lib}"
exit
fi
done
#=====fixstart=====
forlibinncurseswncursescurses;do
if[-f/usr/lib/lib${lib}.${ext}];then
echo"-l${lib}"
exit
fi
done
#=====fixend=====
done
exit1
}
最後,重新 make menuconfig
如果上述方法不行,樓主可以用 make nconfig
Ⅱ x code能否代替vc6.0在mac下編譯C++程序
一樣的,創建工程的時候左側選擇command line工程。然後右側選擇CPP或者Standard(C)文件。
X-Code會幫你自動生成一個hello word的工程
然後剩下的事情你就知道怎麼做了。
此外,安裝好X-Code之後,會幫你裝上GCC編譯器,這個Unix下開發的編譯器很強大,你可以直接把你寫的Cpp文件拿來編譯生成可執行文件在你的Terminal下面執行。
例如,把test.cpp編譯成可執行文件ex01命令如下:
編譯:g++ -o ex01 test.cpp
執行:./ex01
編譯C文件的話用gcc命令就行
gcc -o ex02 test.c
./ex02
詳細操作可以找一本linux的教程看看,寫簡單的程序我們一般都是使用vim編輯器然後用g++編譯的。
大一點的工程就採用X-Code,它本身也是基於gcc和gdb的集成開發環境。如果你會寫makefile,也可以自己完成鏈接、調試的過程。
Ⅲ mac如何使用makefile
OS X使用十分簡便,比Windows簡單的多,你可以從互聯網上下載Mac版本的應用程序,然後把XXX.app拖入到另一個文件夾里即可,因此安裝程序十分方便,可以避免Windows上「附加程序」的現象,而且安裝也是十分容易的一件事。你也可以把應用程序固定在Dock,在Dock上的任意程序只需單擊就可以打開。
OS X是蘋果開發的系統,目前最新版本為10.10.3,這是一個封閉式,基於UNIX系統的一款十分棒的操作系統,如果你的電腦不需要列印機驅動、一些OS X並非兼容的程序(大部分程序,OS X都是可以兼容的),其實它也是很好用的。
Ⅳ 我的MAC編譯LUA-CJSON模塊時報如下錯誤,求大神解答~~!
把Makefile里的 CJSON_LDFLAGS = -shared改成CJSON_LDFLAGS = -bundle -undefined dynamic_lookup試試看
Ⅳ makefile mac32位怎麼編64位的庫
需要編寫Makefile 可以參照gcc的Makefile編寫一個 cu格式是cuda的程序么? 那調用的編譯器應該有所區別 Makefile里需要指定編譯器 CC:=gcc gcc改成你用的編譯器 另外,虛機團上產品團購,超級便宜
Ⅵ 如何使用Makefile自動編譯iPhone程序
Xcode 也支持以命令行形式來編譯 iPhone 程序。另外還可以手動的編寫 Makefile 文件,實現編譯→安裝的自動化批處理過程。如果你習慣了命令行的操作方式(linux,unix),那麼這樣的操作還是很方便的。首先看看 Xcode 的命令行格式:xcodebuild -target Project_Namexcodebuild install -target Project_Name下面我們來實現程序的編譯,並通過 ldid 轉換編碼格式,最後用 ssh 將編譯好的程序安裝到 iPhone 上的 /Applications/目錄下。首先安裝 ssh 的公開密匙到 iPhone 上1). 在Mac的終端上產生密匙ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/xxxx/.ssh/id_rsa):Created directory '/home/xxxx/.ssh'.Enter passphrase (empty for no passphrase): xxxEnter same passphrase again: xxxYour identification has been saved in /home/xxxx/.ssh/id_rsa.Your public key has been saved in /home/xxxx/.ssh/id_rsa.pub.The key fingerprint is:e4:e8:b7:05:06:b3:f0:ff:af:13:fc:50:6a:5b:d1:b5 [email protected]過程中會提問你通行證(passphrase),輸入你常用的秘密。2). 在 iPhone 上創建.ssh目錄(iPhone的IP地址是10.0.2.2)ssh [email protected] 'mkdir -p .ssh'如果問道你iPhone root password,輸入 alpine。3). 拷貝剛才生成的公開密匙到 iPhonecat ~/.ssh/id_rsa.pub | ssh [email protected] 'cat >> .ssh/authorized_keys'如果問道你iPhone root password,輸入 alpine。4). 在 iPhone 上編輯 /etc/ssh/sshd_config 文件#將#StrictModes yes#PubkeyAuthentication yes#AuthorizedKeysFile .ssh/authorized_keys#替換為StrictModes noPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys5). 重新啟動iPhone接下來,編譯生成ldid工具wget http://svn.telesphoreo.org/trunk/data/ldid/ldid-1.0.610.tgztar -zxf ldid-1.0.610.tgz# 如果是 PowerPC 下載下面的補丁# wget -qO- http://fink.cvs.sourceforge.net/viewvcfink/dists/10.4/unstable/crypto/finkinfo/ldid.patch?revision=1.1 | patch -p0cd ldid-1.0.610g++ -I . -o util/ldid{,.cpp} -x c util/{lookup2,sha1}.csudo cp -a util/ldid /usr/bin最後,讓我們看看Makefile中都有什麼項目中的文件如下所示:Classes : source code (.m .c .cpp etc)Resources : png file and other support filesProject folder : *.xib Info.plistLDFLAGS += -F"$(IPHONESDK)/System/Library/Frameworks" LDFLAGS += -F"$(IPHONESDK)/System/Library/PrivateFraLDFLAGS += -F"$(IPHONESDK)/System/Library/Frameworks"LDFLAGS += -F"$(IPHONESDK)/System/Library/PrivateFrameworks"## 編譯開關CFLAGS += $(INCPATH) \ -std=c99 \ -W -Wall \ -funroll-loops \ -Diphoneos_version_min=2.0 \ -Wno-unused-parameter \ -Wno-sign-compareifeq ($(DEBUG), y)CFLAGS += -O0 -g -DDEBUG_MUTEXelseCFLAGS += -O3 -DNDEBUGifeq ($(DEVEL), y)CFLAGS += -gendifendifCFLAGS += -F"$(IPHONESDK)/System/Library/Frameworks"CFLAGS += -F"$(IPHONESDK)/System/Library/PrivateFrameworks"
BUILDDIR =./build/3.0SRCDIR =./ClassesRESDIR =./ResourcesOBJS = $(patsubst %.m,%.o,$(wildcard $(SRCDIR)/*.m))OBJS += $(patsubst %.m,%.o,$(wildcard ./*.m))OBJS += $(patsubst %.c,%.o,$(wildcard $(SRCDIR)/*.c))OBJS += $(patsubst %.cpp,%.o,$(wildcard $(SRCDIR)/*.cpp))NIBS = $(patsubst %.xib,%.nib,$(wildcard *.xib))RESOURCES= $(wildcard $(RESDIR)/*)APPFOLDER= $(TARGET).app.PHONY: allall: $(TARGET) bundle$(TARGET): $(OBJS) $(LD) $(LDFLAGS) -o $@ $^%.o: %.m $(CC) -c $(CFLAGS) [ DISCUZ_CODE_157 ]lt; -o $@%.o: %.c $(CC) -c $(CFLAGS) [ DISCUZ_CODE_157 ]lt; -o $@%.o: %.cpp $(CXX) -x objective-c++ $(CFLAGS) [ DISCUZ_CODE_157 ]lt; -o $@%.nib: %.xib ibtool [ DISCUZ_CODE_157 ]lt; --compile $@bundle: $(TARGET) @rm -rf $(BUILDDIR) @mkdir -p $(BUILDDIR)/$(APPFOLDER) @cp -r $(RESDIR)/* $(BUILDDIR)/$(APPFOLDER) @cp Info.plist $(BUILDDIR)/$(APPFOLDER)/Info.plist @echo "APPL" > $(BUILDDIR)/$(APPFOLDER)/PkgInfo mv $(NIBS) $(BUILDDIR)/$(APPFOLDER)# export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate@ldid -S $(TARGET) @mv $(TARGET) $(BUILDDIR)/$(APPFOLDER)/$(TARGET)_install: bundle @ssh root@$(IP) "cd /Applications/$(APPFOLDER) && rm -R * || echo 'not found' " @scp -rp $(BUILDDIR)/$(APPFOLDER) root@$(IP):/Applications @ssh root@$(IP) "cd /Applications/$(APPFOLDER) ; ldid -S $(TARGET)_; killall SpringBoard" @echo "Application $(APPFOLDER) installed"uninstall: ssh root@$(IPHONE_IP) 'rm -fr /Applications/$(APPFOLDER); respring' @echo "Application $(APPFOLDER) uninstalled, please respring iPhone"install_respring: scp respring_arm root@$(IPHONE_IP):/usr/bin/respring.PHONY: cleanclean: @rm -f $(OBJS) $(TARGET) @rm -rf $(BUILDDIR)然後執行下面的make命令,我們就可以直接在 iPhone 上測試我們的程序了。make install_respringmakemake install
Ⅶ Mac OS X下控制台執行qmake為什麼不能生成Makefile
完整的qmake語法是:
注意:主要是-spec macx-g++這個選項,為qmake指定編譯環境,在Windows下可以增加一個QMAKESPEC的系統環境變數,值為win32-g++或者msvc2005等等,具體看編譯器類型,在Mac下也可以這樣做,省去每次qmake加選項的煩惱.具體的makespec取值看目錄/usr/local/Qt4.4/mkspecs/下的目錄名稱,對應你的編譯環境,以macx-g++為例,編輯~/.profile文件,如果沒有則創建一個,加入一行:export QMAKESPEC=macx-g++,存檔重新打開控制台便可以了。
但是此時僅僅使用qmake命令,雖然生成了一個Makefile,但並沒有像Windows下那樣同時產生Makefile.Debug、Makefile.Release文件和debug、release兩個存放編譯中間文件的目錄,雖然此時可以make成功並產生目標程序,但中間文件都散落在源碼目錄中,比較難看,這就是後面這個參數CONFIG+=debug_and_release沒有加上的原因,為了一勞永逸,在/usr/local/Qtx.x/mkspecs目錄中找到對應的macx-g++目錄,其中有一個文件叫qmake.conf,用文本編輯器打開,在其中的CONFIG+=這行中加入參數debug_and_release,重新qmake,搞定!