當前位置:首頁 » 編程軟體 » 怎樣寫編譯配置文件

怎樣寫編譯配置文件

發布時間: 2023-06-15 06:28:53

⑴ windows下用命令行編譯並運行java工程,怎樣編譯引用的多個jar包和配置文件.xml呢

javac -classpath c:\lib\log4j.jar;D:\lib\logging.jar src\org\myproject\*.java

還可以指定輸出目錄,如輸出到bin(bin目錄要預告建立好)
javac -classpath c:\lib\log4j.jar;D:\lib\logging.jar -d bin src\org\myproject\*.java

至於配置文件,因為要看實際的使用,可以用命令拷貝。如拷貝log4j.properties
/y myConfig\log4j.properties bin

⑵ 高通mdm9607 mcfg_sw.mbn配置編譯流程

1.未添加運營商mcfg_sw.mbn配置文件,存在設備找網速度慢的問題。

2.添加高通默認配置mcfg_sw.mbn,出現問題:
(1)設備插入移動卡,呼入會出現自動接聽。
(2)設備插入電信4G卡,無法4G上網。
(3)設備插入特定物聯網卡,UE無法正常切換對應運營商配置。默認切換至3GPP,導致無法正常上網。

3.使用QXDM 修改網路相關的nv參數,切換運營商卡後,nv參數配置失效。

1.設備搜網會根據對應運營商mcfg_sw.mbn中配置去搜尋相應的頻段,未添加則會導致設備輪詢所有頻段,從而導致駐網速度慢。

2.高通通過nv項中的參數來設置設備一些定製功能。
(1)查看nv850(CT電信默認配置為cs only)從而導致電信卡4G無法上網
PS域(Packet SwitchedDomain)為分組(交換)域,CS域(Circuit SwitchedDomain)為電路(交換)域。
通俗的說,打電話語音信號走的是CS,上網等數據業務信號走PS。
(2)查看nv74(CMCC移動卡默認配置為enable)nv74是控制電話自動接聽,因此出現移動卡設備呼入會出現自動接聽。

3.UE會根據插入運營商卡的iccid來切換相應mcfg_sw.mbn配置。物聯網卡採用專用號段,因此可能存在配置不支持導致無法正常切換運營商配置。
(由於這批移動物聯網卡iccid前幾位為898604,mbn未配置因此會導致UE無法正常切換mbn配置,導致無法上網。)
什麼是物聯網卡

4.使用QXDM修改參數後為何切換不同運營商卡後,nv配置參數會失效。
假設插入電信卡後,設備通過QXDM修改nv,改nv值並沒有寫入到mcfg_sw.mbn中,簡單理解為臨時參數。
當設備插入移動卡後,UE會根據iccid來切換mcfg_sw.mbn。它獲取的參數依然是從該文件內部讀取,修改的值未起到作用。

圖為運營商mbn配置,CU CMCC CT 分別對應聯通、移動、電信。其他為默認硬體軟體配置。

1.修改XML源文件

(1)路徑:modem_proc\mcfg\mcfg_gen\generic\china(有全球各個地區的運營商配置信息)

圖為生成cmcc mcfg_sw.mbn各個xml配置文件

(2)修改內容
CT:

CMCC:

目前只在已有的NvItemData項中修改參數,還未測試自己添加新的nv配置。

2.編譯流程

(1)編譯參數說明

(2)實際測試命令

a.進入/modem_proc/mcfg/build

b.編譯CT mbn命令:
perl build_mcfgs.pl --build_id=9607.genns.prod --configs=mcfg_sw:OpenMkt-Commercial --force-regenerate --force-rebuild --source-dir=generic/China/CT --xml
mbn文件生成路徑:/modem_proc/mcfg/configs/mcfg_sw/generic/China/CT/Commercial/OpenMkt

c.編譯CMCC mbn命令:
perl build_mcfgs.pl --build_id=9607.genns.prod --configs=mcfg_sw:Commercial-CSFB-SS-LocTech --force-regenerate --force-rebuild --source-dir=generic/China/CMCC --xml
mbn文件生成路徑:/modem_proc/mcfg/configs/mcfg_sw/generic/China/CMCC/CSFB/SS

3.出現問題:
(1)現象
Building MBN for mcfg_sw:Commercial-CSFB-SS-LocTech...
Could not open or create temporary file '/media/root/exdisk/workspace/L170_4K/modem_proc/mcfg/mcfg_gen/scripts/data/efs_files/cmcc/profile4'
沒有那個文件或目錄 at ../mcfg_gen/scripts/mcfg_write.pm line 1242.

(2)原因
源碼中該文件大小寫存在差異,去源碼中修改相應profile文件大小寫,問題解決。

4.xml新增移動物聯網卡支持

(1)找到移動對應的xml文件

(2)添加物聯網卡iccid前6位數字。

(3)重新編譯mcfg_sw.mbn文件,通過PDC tool重新load設備,測試成功。

⑶ 如何編譯linux內核

1、大概步驟:
1、安裝開發包組
2、下載源碼文件
3、.config:准備文本配置文件
4、make menuconfig:配置內核選項
5、make [-j #]
6、make moles_install:安裝模塊
7、make install :安裝內核相關文件
安裝bzImage為/boot/vmlinuz-VERSION-RELEASE (去boot目錄下查看)
生成initramfs文件
8、編輯grub的配置文件
2、編譯配置選項
配置內核選項
支持「更新」模式進行配置: make help
(a) make config:基於命令行以遍歷的方式去配置內核中可配置的每個選項
(b) make menuconfig:基於curses的文本窗口界面
(c) make gconfig:基於GTK (GNOME)環境窗口界面
(d) make xconfig:基於QT(KDE)環境的窗口界面
支持「全新配置」模式進行配置
(a) make defconfig:基於內核為目標平台提供的「默認」配置進行配置
(b) make allyesconfig: 所有選項均回答為「yes「
(c) make allnoconfig: 所有選項均回答為"no「
3、編譯
全編譯:make [-j #]
編譯內核的一部分功能:
a) 只編譯某子目錄中的相關代碼:
# cd /usr/src/linux
# make dir/
(b) 只編譯一個特定的模塊:
# cd /usr/src/linux
# make dir/file.ko
例如:只為e1000編譯驅動:
#make drivers/net/ethernet/intel/e1000/e1000.ko
4、編譯內核
如何交叉編譯內核:
編譯的目標平台與當前平台不相同;
# make ARCH=arch_name
要獲取特定目標平台的使用幫助
# make ARCH=arch_name help
# make ARCH=arm help
5、清理刪除
在已經執行過編譯操作的內核源碼樹做重新編譯:
需要事先清理操作:
# make clean:清理大多數編譯生成的文件,但會保留config文件等
# make mrproper: 清理所有編譯生成的文件、 config及某些備份文件
# make distclean: mrproper、 patches以及編輯器備份文件
卸載內核
刪除/lib/moles/目錄下不需要的內核庫文件
刪除/usr/src/linux/目錄下不需要的內核源碼
刪除/boot目錄下啟動的內核和內核映像文件
更改grub的配置文件,刪除不需要的內核啟動列表
需要解決更多linux問題,詳情請看 http://www.linuxprobe.com/chapter-00.html
望採納

⑷ 請簡述嵌入式linux內核的編譯過程

編譯及安裝簡要步驟:
編輯Makefile版本信息

定義內核特性,生成配置文件.config,用於編譯:make xconfig

編譯內核:make

安裝內核:make install

安裝模塊:make moles_install

具體步驟如下:

內核配置

先定義內核需要什麼特性,並進行配置。內核構建系統(The kernel build system)遠不是簡單用來構建整個內核和模塊,想了解更多的高級內核構建選項,你可以查看 Documentation/kbuild 目錄內的內核文檔。

可用的配置命令和方式:

make menuconfig

命令:make menuconfig

編譯內核

編譯和安裝內核

編譯步驟:

$ cd /usr/src/linux2.6

$ make

安裝步驟 (logged as

$ make install

$ make moles_install

提升編譯速度

多花一些時間在內核配置上,並且只編譯那些你硬體需要的模塊。這樣可以把編譯時間縮短為原來的1/30,並且節省數百MB的空間。另外,你還可以並行編譯多個文件:

$ make -j <number>

make 可以並行執行多個目標(target)(KEMIN:前提是目標規則間沒有交叉依賴項,這個怎麼做到的?)

$ make -j 4

即便是在單處理器的工作站上也會很快,讀寫文件的時間被節省下來了。多線程讓CPU保持忙碌。

number大於4不見得有效了,因為上下文切換過多反而降低的工作的速度。

make -j <4*number_of_processors>

內核編譯tips

查看完整的 (gcc, ld)命令行: $ make V=1

清理所有的生成文件 (to create patches...): $ make mrproper

部分編譯:$ make M=drivers/usb/serial

單獨模塊編譯:$ make drivers/usb/serial/visor.ko

最終生成的文件

vmlinux 原始內核鏡像,非壓縮

arch/<arch>/boot/zImage zlib壓縮的內核鏡像(Default image on arm)

arch/<arch>/boot/bzImage bzip2壓縮的內核鏡像。通常很小,足夠放入一張軟盤(Default image on i386)

⑸ 如何寫配置文件

配置文件可以是任何形式,可以是xml或者txt都行,比如資料庫的連接配置
比如:
<?xml version="1.0" standalone="yes"?>//這句一定要有,下面的你隨意寫
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
<connectionStrings>
<add name="DBConnectionString" connectionString="Data Source=192.168.118.21;Initial Catalog=PreMix;User Id =sa;Password =sa" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>

這就是個配置文件,在winform裡面直接用DataSet的ReadXml()方法就能讀取到裡面的值

⑹ 如何讓VS根據編譯環境選擇相應的配置文件

首先新建一個WinForm項目,在項目中添加兩個配置文件app.Debug.config和app.Release.config(如果有自帶的App.config,可將其刪除),並在兩個配置文件中添加測試數據

然後打開項目所在文件夾,用文本編輯器打開項目文件,在這里我推薦Notepad++,當然你可以根據個人習慣選擇自己喜歡的編輯器。
注意:千萬不要用寫字板打開,因為寫字板會改變文件的換行符,使程序不能正確載入配置文件

⑺ Linux內核源碼如何編譯

首先uname -r看一下你當前的linux內核版本

1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內核源代碼,用uname -r命令可以查看你當前使用的是哪套內核,你把你下載的內核源碼也保存到這個目錄之下。
2、配置內核 make menuconfig,根據你的需要來進行選擇,設置完保存之後會在當前目錄下生成.config配置文件,以後的編譯會根據這個來有選擇的編譯。
3、編譯,依次執行make、make bzImage、make moles、make moles
4、安裝,make install
5、.創建系統啟動映像,到 /boot 目錄下,執行 mkinitramfs -o initrd.img-2.6.36 2.6.36
6、修改啟動項,因為你在啟動的時候會出現多個內核供你選擇,此事要選擇你剛編譯的那個版本,如果你的電腦沒有等待時間,就會進入默認的,默認的那個取決於 /boot/grub/grub.cfg 文件的設置,找到if [ "${linux_gfx_mode}" != "text" ]這行,他的第一個就是你默認啟動的那個內核,如果你剛編譯的內核是在下面,就把代表這個內核的幾行代碼移到第一位如:
menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {

recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic root=UUID=9961c170-2566-41ac-8155-18f231c1bea5 ro quiet splash $vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
當然你也可以修改 set default="0"來決定用哪個,看看你的內核在第幾位,default就填幾,不過我用過這種方法,貌似不好用。

重啟過後你編譯的內核源碼就成功地運行了,如果出現問題,比如滑鼠不能用,usb不識別等問題就好好查查你的make menuconfig這一步,改好後就萬事ok了。

最後再用uname -r看看你的linux內核版本。是不是你剛下的那個呢!有沒有成就感?
打字不易,如滿意,望採納。

熱點內容
體檢中心的無線網密碼多少 發布:2025-02-09 05:40:15 瀏覽:515
腳本語言是編譯還是解釋 發布:2025-02-09 05:30:24 瀏覽:642
天墓密碼結局是什麼 發布:2025-02-09 05:25:52 瀏覽:437
如何找回網際網路帳號的密碼 發布:2025-02-09 05:20:05 瀏覽:373
樹莓派源碼 發布:2025-02-09 05:07:00 瀏覽:651
安卓手機為什麼搜不到懂球帝 發布:2025-02-09 05:04:42 瀏覽:817
生命密碼解讀走什麼 發布:2025-02-09 04:55:51 瀏覽:279
python常用正則表達式 發布:2025-02-09 04:42:53 瀏覽:179
機器人編程培訓哪家好 發布:2025-02-09 04:37:44 瀏覽:308
上海怎麼學習java 發布:2025-02-09 04:26:39 瀏覽:23