導航:首頁 > 源碼編譯 > centos7編譯cocos2dx

centos7編譯cocos2dx

發布時間:2022-10-01 07:14:45

① pandorabox,在centos7 下編譯出錯,運行make V=s後有如下提示,應該怎麼解決

最近試了一下php7,在編譯和支持MySQL上都遇到一些問題,相信不少同學也同樣遇到,所以在這里聊一下這個過程。簡單來講編譯PHP7隻需要3步:

1、./buildconf --force
2、./configure
3、make && make install

1、3步,都沒啥好管的,configure是編譯的關鍵,涉及到PHP對一些庫的支持,這里我們使用最小的支持,包括MySQL:

curl
gd
fpm
mysqlnd

之所以把curl和gd拿來說,目的是要搞清楚,這些三方庫在編譯PHP之前得安裝好,可以直接使用yum安裝在默認位置,也可以編譯安裝到指定位置,yum安裝後,編譯時不用指定庫的安裝位置,關於安裝這些庫,可以搜索一下有很多。下面看看基本的configure

./configure --prefix=/apps/php/php7.0 --enable-mbstring --with-curl --with-gd --with-config-file-path=/apps/php/php7.0/etc/ --
enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd
PHP-FPM

關於fpm,相信不用多說,用它來支持PHP是一個比較好的選擇,PHP5.3.3開始就已經內置了php-fpm,所以PHP7里當然也有,只需要--enable-fpm一下就可以了

php-fpm參數:

--start 啟動
--stop 強制終止
--quit 平滑終止
--restart 重啟
--reload 重新平滑載入php的php.ini
--logrotate 重新啟用log文件

MySQL支持

重點講一下這個,因為在它上面花了一點時間,不知道從哪一版本開始,PHP不在希望使用mysql的庫來支持mysql的連接,啟用了mysqlnd來支持,聽說比libmysql要快很多,PHP5.x還可以使用libmysql,PHP7貌似已經取消了支持,編譯都沒有了--with-mysql參數,只支持--with-mysqli和--with-pdo-mysql,可以通過查看configure的參數來知道:

?

1

./configure -help | grep mysql

可以看到,PHP希望使用mysqlnd來支持MySQL,所以參數可以這樣寫:

--enable-mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd

mysqlnd是不需要mysql支持的,所以不用先安裝好mysql一樣可以編譯通過,啟動php-fpm,查看一下phpinfo,能看到mysqlnd和pdo_mysql表示php已經可以支持mysql了(這里用的是pdo,mysqli同理)

幾個問題

編譯問題:cc: Internal error: Killed (program cc1)

這個問題是第一次遇到,原來是我的阿里雲伺服器關掉了swap,內存不夠用,就報了這個錯。 解決辦法很簡單,configure時加上--disable-fileinfo參數就可以了。

PHP報找不到mysql服務

正如它所說,確實沒找到,看看phpinfo中pdo_mysql.default_socket項

mysql.sock在哪裡,再看一下mysql.sock的真正位置,使用命令:ps -ef|grep mysql查看:

明顯不在一個位置上,我的正確位置是:/var/lib/mysql/mysql.sock

所以,修改一下php.ini,找到pdo_mysql.default_socket,改為你的實際位置,重啟一下php-fpm,很不幸,雖然php.ini有這個配置,修改後,竟然不行,最好是編譯的時候,指定mysql.socket的位置:

?

1

--with-mysql-sock=/var/lib/mysql/mysql.sock

如果還不行,可以到/tmp目錄下建立一個mysql.sock的軟鏈接:

?

1

ln -s /var/lib/mysql/mysql.sock mysql.sock

再重啟一次php-fpm,相信已經正常運行了。如果需要PHP支持的庫更多,可以再次編譯,在configure時把需要的支持加上,就是--with-xxx這中,記得如果是三方的,要先安裝這些庫才行哦。

linux centos7使用make編譯時報錯,提示C文件初始值設定元素不是常量,請問應該怎麼解決

static const 初始化值必須為常量,就是只能是編譯時就能確定的值,而不是運行時運算出來的值.

得看看makefloatx80是什麼,如果是一個普通函數,那麼出現這個錯誤是應該的.

考慮到是官方庫,可能是使用的編譯器版本不同.

③ 如何升級centos7內核並且編譯

、使用 elrepo rpm包升級
查看前系統內核版本 uname -r
1. 導入key
rpm --import
2. 安裝 elrepo yum源
rpm -Uvh
3. 安裝內核
yumelrepo源新版本內核直接yum安裝即
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 設置系統啟順序
查看系統啟項:
cat /boot/grub2/grub.cfg |grep menuentry
發現新版本內核設置新版本內核默認啟:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默認啟系統版本grub2-editenv list:
顯示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot重啟再查看 uname -r
二、使用源碼編譯安裝升級
1 載內核源碼
載網址
wget xxx
2 解壓並進入源碼目錄
3 更新系統並安裝依賴軟體
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 前內核配置文件拷貝前目錄
本應該執行make menuconfig自定義內核配置配置文件.config; 直接使用原系統內核配置拷貝/boot目錄配置文件前目錄
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用前內核配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 編譯安裝
#make bzImage
#make moles
#make moles_install
#make install
7 設置系統啟順序
查看系統啟項:
cat /boot/grub2/grub.cfg |grep menuentry
發現新版本內核設置新版本內核默認啟:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默認啟系統版本grub2-editenv list:
顯示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot重啟再查看 uname -r
-

④ centos 7怎麼安裝編譯安裝二進制文件

安裝軟體包

rpm [option] /path/to/package_file

-i:安裝

-v:顯示安裝詳細信息

-h:以#號顯示安裝進度,每個#號代表2%的安裝進度

組合用法:rpm -ivh /path/to/package_file

--nodeps:安裝時忽略依賴關系。(此方式安裝的軟體可能運行不了)

--test:測試安裝,不是真正的安裝。

--replacepkgs:重新安裝(如果原有配置文件作了修改,很有可能不執行替換,而是將應該安裝生成的配置文件重命名為 .rpmnew)

卸載軟體包

rpm [option] package_name

-e:卸載(如果包的配置文件安裝後曾被改動過,卸載時,此文件將不會卸載,而是被重命名並保留,例如warning: /etc/zprofile saved as /etc/zprofile.rpmsave.)

--nodeps:卸載時忽略依賴關系(卸載後,依賴次軟體包的程序可能無法正常運行)

升級軟體包

rpm [option] /path/to/package_file

-Uvh:升級或安裝,如果舊版本的軟體包不存在,則安裝此軟體包;如果舊的軟體包存在,則升級舊軟體包。

-Fvh:純升級,如果舊版本的軟體包不存在,則不安裝此軟體包;如果舊的軟體包存在,則升級舊軟體包。

注意:不應該對內核執行升級操作,而是安裝。系統允許多內核並存

⑤ centos7 gcc編譯器對c11標準的支持

gcc-std=c11main.c-omain

前提是你的gcc版本得夠新, 支持 c11才可以.

⑥ cocos2dx 引擎 編譯的apk 能反編譯嗎

1.對apk使用apktool反編譯出可調試的smali代碼到out文件夾,目前apktool最新的版本是2.0.0b7。
java -jar apktool_2.0.0b7.jar d -d test.apk -o out

這里必須使用-d參數,這樣反編譯出來的代碼後綴均是java,因為只有java文件才能被eclipse/netbeans識別調試。
2.設置調試標記和尋找主類
在輸出的out文件夾中,用文本編輯工具打開androidManifest.xml,在application節點中設置屬性android:debuggable="true"。
繼續在AndroidManifest.xml中,搜索以下關鍵字
<intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter>

找到含有以上信息的activity節點,記錄其android:name屬性的值,該值則為其應用的主類。如下面的例子,主類為com.acids.helloworld.MainActivity。

<?xml version="1.0" encoding="utf-8" standalone="no"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.acids.helloworld"> <application android:debuggable="true" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:label="@string/app_name" android:name="com.acids.helloworld.MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>

3.在主類的onCreate事件中添加調試等待。
用文本編輯工具打開主類文件,找到onCreate方法,在第一句前插入invoke-static {}, Landroid/os/Debug;->waitForDebugger()V,記得添加a=0;//的前綴保持上下一致,結果如下:

a=0;// # virtual methods a=0;// .method protected onCreate(Landroid/os/Bundle;)V a=0;// invoke-static {}, Landroid/os/Debug;->waitForDebugger()V a=0;// a=0;// .locals 1 a=0;// .param p1, "savedInstanceState" # Landroid/os/Bundle; a=0;// a=0;// .prologue a=0;// .line 11 a=0;// invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

4.保存文件,用apktool重新編譯打包為debug.apk
java -jar apktool_2.0.0b7.jar b -d out -o debug.apk

5.對debug.apk簽名(需要下載簽名工具),我把簽名工具放在了signapk文件夾下,生成debug.sign.apk
java -jar .\signapk\signapk.jar .\signapk\testkey.x509.pem .\signapk\testkey.pk8 .\debug.apk .\debug.sign.apk

6.上傳debug.sign.apk至手機或模擬器,然後安裝並運行。這時你會看到程序運行後停留在白屏界面,這時不要動設備和退出程序,因為程序現在是運行到剛才添加的waitForDebugger代碼這里,這行代碼的意思是一直掛起中,等待調試器。

下面開始設置實時調試的環境。
7.啟動eclipse,構建java項目
1) File -> New -> Project -> Java Project -> Next
2) Project Name隨便起,Use default location選項去掉,Location選擇out文件夾,然後Next
3) 把smali文件夾設為Source Folder,然後Finish
8.在eclipse中,打開第2步找到的主類,並找到onCreate方法,在waitForDebugger後面的第一個方法開始添加斷點。如下圖

9.打開DDMS(路徑在%android-sdks%\tools\ddms.bat),如果在第6步中運行了修改後的程序,在DDMS的設備列表中會顯示可以調試的程序。

對應程序最後一欄為8600/8700,其中8600即為調試該程序的埠。
10.現在要做的就是把代碼與調試程序關聯即可。 回到eclipse,配置遠程調試
1) 菜單Run -> Debug -> Debug Configurations
2) 雙擊Remote Java Application,Host處默認localhost就行,Port填第10步得到的8600,然後Apply -> Debug。

11.這時eclipse自動切換至debug視圖,並看到程序已經運行並中斷在下一行可執行的代碼了,相關的變數可以直接查看了。

⑦ centos7能運行pawn.exe嗎

.exe格式文件只能安裝在Windows系統下,無法安裝在Centos上的,如果樓主想在Centos上安裝pawn,需要下載Linux系統下的pawn文件,然後安裝使用,具體文件樓主可以去pawn官網看看。
樓主如果對Linux系統感興趣,想學習更多Linux系統知識,可以網路《Linux就該這么學》,不錯的一本Linux入門教程。

⑧ cocos2d-x 2.2能編譯64位的嗎

hadoop2.x在apache官網直接下載的並沒有64位直接能用的版本,如果我們想在64位系統使用,那麼就需要重新編譯hadoop,否則直接使用32位的hadoop運行在64位的系統上,將會出現一些庫不兼容的異常。如下圖所示,最直接的一個異常:

在這之前,散仙先用一個表格來描述下散仙的編譯的環境的狀況:
序號 描述 備注
1 centos6.5系統64位 linux環境
2 Apache Ant1.9 ant編譯
3 Apache Maven3.2.1 maven打包部署
4 gcc,gcc-c ,make 依賴庫
5 protobuf-2.5.0 序列化庫
6 JDK1.7 JAVA 環境
7 Hadoop2.5.0源碼包 官網下載
8 菜鳥工程師一名 主角
9

下面進入正題,散仙的環境是在centos下,所以大部分安裝編譯依賴庫,都可以很方便的使用yum命令來完成。

1,安裝gcc,執行如下的幾個yum命令即可

Java代碼

yum -y install gcc

yum -y install gcc-c

yum install make

yum install autoconf automake libtool cmake ncurses-devel openssl-devel gcc*

2,安裝JDK,並設置環境變數,完成後測試安裝成功否

Java代碼

[root@ganglia ~]# java -version

java version "1.5.0"

gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-4)

Copyright (C) 2007 Free Software Foundation, Inc.

This is free software; see the source for ing conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[root@ganglia ~]#

3, 安裝Maven,安裝完成後測試安裝與否

Java代碼

[root@ganglia ~]# mvn -v

Apache Maven 3.2.1 (; 2014-02-15T01:37:52 08:00)

Maven home: /usr/local/maven

Java version: 1.7.0_25, vendor: Oracle Corporation

Java home: /usr/local/jdk1.7.0_25/jre

Default locale: zh_CN, platform encoding: UTF-8

⑨ 在centos7上VScode編譯器,C/C++混合編程,printf()函數顯示未定義

環境沒配置好,需要安裝clang。
不過不建議在Linux下編寫代碼,可以在Windows下編寫代碼,上傳到Linux下用gcc編譯。望採納。

⑩ centos7 java api如何運行

java後台介面項目首先要先進行編譯(具體看你是什麼項目),然後是要放在伺服器中運行,如tomcat

閱讀全文

與centos7編譯cocos2dx相關的資料

熱點內容
ubuntuphpfpm安裝 瀏覽:413
末世之一女多男 瀏覽:178
電腦上如何下載稅務app 瀏覽:528
s曲線單片機 瀏覽:664
配音秀app如何自動取消續費功能 瀏覽:755
程序員深山養雞 瀏覽:825
類似渣夫的百惠媳的小說 瀏覽:502
javaforever 瀏覽:637
女主叫桃子的微電影 瀏覽:449
藍光超清1080p影視 瀏覽:296
男變女懷孕並生孩子的小說 瀏覽:344
安卓怎麼玩出蘋果的軟體 瀏覽:92
除了80以外還有啥看電影 瀏覽:369
加密分享可以採用的演算法 瀏覽:686
請問誰有免費的男人網站? 瀏覽:75
58pdf 瀏覽:768
年輕人愛看的免費的電影網站 瀏覽:782
天津水游城電影院今日影訊簡介 瀏覽:99
lin運演算法則 瀏覽:574
天刀命令 瀏覽:132