linux編譯windows
A. 如何實現在Windows下編寫的代碼,直接在linux下編譯
方法一:
如何實現在Windows7下編寫Linux程序,寫完程序以後,不用拷貝文件,直接在Linux(RHEL6.5)機器上編譯最新的代碼。
首先將Windows的代碼文件夾設置為共享文件夾:
在RHEL6.5上,利用mount命令把Win7下的文件夾給mount到本地的一個文件夾
其中192.168.59.1是Win7的OS,VMTool是本地的一個文件夾。
在~/.bash_profile中添加如下行,這樣每次啟動的時候,就會自動mount這個文件夾。
mount //192.168.59.1/DIMMTool /root/Desktop/DIMM -o username=zxj1988,password=2720142V
方法二:
利用SAMBA,設置Linux中的文件夾為共享文件夾,在Windows下直接訪問共享文件夾。
1. 安裝samba:
1.1 rpm -qa| grep samba
如果以上的命令的結果為空,證明Linux上沒有安裝samba。需要安裝samba
1.2 掛載RHEL6.5安裝鏡像,並進入到該文件夾中來。
1.3
1.4 進入到Package目錄下
1.5 ls | grep samba
1.6 利用rpm -ivh sambaXXX命令去安裝相應的samba包。安裝好以後,再跑rpm -qa|grep samb會得到如下結果:
可以通過service smb 來判斷smb是否安裝成功
2. 配置共享文件夾
2.1 新建共享文件夾,如mkdir /home/test
注意:不要創建在/root目錄下,否則只有windows的administrator,admin兩個用戶才能訪問得到。
2.2 設置其共享許可權 chmod 777 /home/test
2.3 設置其所有者 chown -R nobody /home/test
如果Windows的登錄用戶是administrator或者admin的話,就不用2.3的設置。
對於Windows的其他用戶,如果沒有2.3的設置,那麼他是無法修改test目錄下的文件的。
2.4 編輯/etc/samba/smb.conf, 將/home/test設置為可共享的目錄。
· vim /etc/samba/smb.conf
·
· 找到security這行並將#注釋符號去掉改成
· security = share #共享模式
·
· 添加如下代碼:
·
· [share]
· comment = share
· path = /home/test #設置共享文件夾目錄
· browseable = yes
· guest ok = yes
· writable = yes
·
2.5 重啟smb服務,使sbm.conf的新配置生效
service smb restart
3. 關閉系統防火牆,並且將sellinux設置為disabled。否則會出現windows下能夠看到linux共享的目錄,但是看不到文件的現象。
設置sellinux為disabled的方法如下:
[root@localhost ~]#vim /etc/selinux/config 將SELINUX=enforcing 改成SELINUX=disabled保存[root@localhost ~]# reboot或init 6
4. 在windows下訪問//[linux_ip] 來訪問共享文件
B. linux 下可以用gcc 編譯windows可用的 exe文件嗎
根據gcc的編譯選項可以看出: 不能
由於Linux和windows是完全不兼容的, Linux上不使用文件後綴名來區分文件, 所以同樣是gcc編譯出來的文件,在Linux上可以執行, 在windows就不能了。
可以安裝Cygwin模擬Linux環境,將源代碼拷到windows下, 用Cygwin編譯出exe文件,可以在Windows上執行。
C. linux下的程序在windows下編譯出錯
Linux下的代碼是不能在windows下編譯的。因為所調用的函數和API都不一樣的。你需要把程序修改成能在widnows下編譯的代碼。
D. linux編譯出來怎麼運行在windows
1、可以安裝cygwin,Cygwin是一個在windows平台上運行的類UNIX模擬環境,是cygnus solutions公司開發的自由軟體,搜索官網下載即可,下載完成,安裝的時候注意記得安裝相關語言的編譯器、解釋器,在cygwin中生成Linux可執行文件。2、 可以安裝vmware、virtualpc等虛擬機,在虛擬機里安裝linux系統,然後在linux系統中編譯相應的源碼,生成linux上的可執行文件。
E. 如何在Linux下編譯Windows版本的adb和fastboot
1. 執行:apt-get install mingw32
安裝了linux-windows交叉編譯環境mingwin
2. 執行:. build/envsetup.sh
3. 執行choosecombo,選擇各個參數
這兩步設置了一些編譯參數和環境變數,按照你正常編譯Android的設置即可。
4. 執行:make USE_MINGW=y adb
5. 執行:make USE_MINGW=y fastboot
最後到out/host/windows-x86/bin目錄下就能找到你剛剛編譯的東西了。
F. 如何在linux下編譯windows版android sdk-czxttkl
1.下好Android源碼
2.在Terminal中輸入:$ sudo apt-get install mingw32
tofrodos
mingw32是一個交叉編譯器,
tofrodos用於unix和dos之間命令轉換
映像中交叉編譯器的定義是能跨平台編譯某些代碼所需要的東西.
其他的還得仔細研究
3. 先編譯好默認的android平台和linux版的sdk,在Terminal中跳轉到android源碼目錄,輸入:
$
. build/envsetup.sh
$ lunch full-eng
$
make
$
. build/envsetup.sh
$ lunch sdk-eng
$ make
sdk
若不先編譯android默認的平台和linux版的sdk,很可能產生不可預知的錯誤,例如:
Error:
Install:
out/host/windows-x86/bin/sdklauncher.exe
make[1]: *** No rule to make
target out/host/linux-x86/bin/emugen,
needed
by
`out/host/windows-x86/obj/STATIC_LIBRARIES/
lib_renderControl_dec_intermediates/renderControl_dec.cpp'.
Stop.
make[1]: Leaving directory
make: *** [winsdk-tools] Error
2
4.正式開始編譯windows版的android
sdk。在Terminal中跳轉到android源碼目錄,輸入:
$ . build/envsetup.sh
$ lunch
sdk-eng
$
make win_sdk
5.最後生成的sdk位於:
ANDROID_SOURCE_ROOT/out/host/windows/sdk
G. linux怎麼編譯windows軟體
Ubuntu下可以直接安裝:
sudo apt-get install mingw32 mingw32-binutils mingw32-runtime
安裝後編譯程序可以:
i586-mingw32msvc-g++(編譯C++程序)
i586-mingw32msvc-gcc(編譯C程序)
用法和gcc/g++非常類似。
編譯:
i586-mingw32msvc-gcc hello.c -o hello.exe -mwindows
註:-mwindows指示其編譯的是windows程序,若編譯的是console(命令行)程序,則不需要這個參數。
若安裝了wine,還可以測試一下這個程序: