??xml version="1.0" encoding="utf-8" standalone="yes"?>սѯ:C++博客-新手?/title><link>//www.pppqb.icu/default.html?id=-5</link><description>专注于C++技?/description><language>zh - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/03/09/216292.html宋鹏宋鹏Sat, 09 Mar 2019 03:23:00 GMT//www.pppqb.icu/hkingSP/archive/2019/03/09/216292.html//www.pppqb.icu/hkingSP/comments/216292.html//www.pppqb.icu/hkingSP/archive/2019/03/09/216292.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216292.html//www.pppqb.icu/hkingSP/services/trackbacks/216292.html搞懂~译q程 ~译器都在干?br />
cl -I 包含需要的目录Q其命o的结־往是一?c?cpp文g?br />cl命o出错Q一般是无法扑ֈ需要的头文件?/div>
附录Qcl -help
                         C/C++ COMPILER OPTIONS
                              -OPTIMIZATION-
/O1 minimize space                      /O2 maximize speed
/Ob<n> inline expansion (default n=0)   /Od disable optimizations (default)
/Og enable global optimization          /Oi[-] enable intrinsic functions
/Os favor code space                    /Ot favor code speed
/Ox maximum optimizations               /Oy[-] enable frame pointer omission 
/favor:<blend|ATOM> select processor to optimize for, one of:
    blend - a combination of optimizations for several different x86 processors
    ATOM - Intel(R) Atom(TM) processors 
                             -CODE GENERATION-
/Gw[-] separate global variables for linker
/GF enable read-only string pooling     /Gm[-] enable minimal rebuild
/Gy[-] separate functions for linker    /GS[-] enable security checks
/GR[-] enable C++ RTTI                  /GX[-] enable C++ EH (same as /EHsc)
/guard:cf[-] enable CFG (control flow guard)
/EHs enable C++ EH (no SEH exceptions)  /EHa enable C++ EH (w/ SEH exceptions)
/EHc extern "C" defaults to nothrow     
/EHr always generate noexcept runtime termination checks
/fp:<except[-]|fast|precise|strict> choose floating-point model:
    except[-] - consider floating-point exceptions when generating code
    fast - "fast" floating-point model; results are less predictable
    precise - "precise" floating-point model; results are predictable
    strict - "strict" floating-point model (implies /fp:except)
/Qfast_transcendentals generate inline FP intrinsics even with /fp:except
/Qpar[-] enable parallel code generation
/Qpar-report:1 auto-parallelizer diagnostic; indicate parallelized loops
/Qpar-report:2 auto-parallelizer diagnostic; indicate loops not parallelized
/Qvec-report:1 auto-vectorizer diagnostic; indicate vectorized loops
/Qvec-report:2 auto-vectorizer diagnostic; indicate loops not vectorized
/GL[-] enable link-time code generation 
/volatile:<iso|ms> choose volatile model:
    iso - Acquire/release semantics not guaranteed on volatile accesses
    ms  - Acquire/release semantics guaranteed on volatile accesses
/GA optimize for Windows Application    /Ge force stack checking for all funcs
/Gs[num] control stack checking calls   /Gh enable _penter function call
/GH enable _pexit function call         /GT generate fiber-safe TLS accesses
/RTC1 Enable fast checks (/RTCsu)       /RTCc Convert to smaller type checks
/RTCs Stack Frame runtime checking      /RTCu Uninitialized local usage checks
/clr[:option] compile for common language runtime, where option is:
    pure - produce IL-only output file (no native executable code)
    safe - produce IL-only verifiable output file
    initialAppDomain - enable initial AppDomain behavior of Visual C++ 2002
    noAssembly - do not produce an assembly
    nostdlib - ignore the default \clr directory
/Gd __cdecl calling convention          /Gr __fastcall calling convention
/Gz __stdcall calling convention        /GZ Enable stack checks (/RTCs)
/Gv __vectorcall calling convention     /QIfist[-] use FIST instead of ftol()
/hotpatch ensure function padding for hotpatchable images
/arch:<IA32|SSE|SSE2|AVX|AVX2> minimum CPU architecture requirements, one of:
   IA32 - use no enhanced instructions and use x87 for floating point
   SSE - enable use of instructions available with SSE-enabled CPUs
   SSE2 - (default) enable use of instructions available with SSE2-enabled CPUs
   AVX - enable use of instructions available with AVX-enabled CPUs
   AVX2 - enable use of instructions available with AVX2-enabled CPUs
/Qimprecise_fwaits generate FWAITs only on "try" boundaries, not inside "try"
/Qsafe_fp_loads generate safe FP loads  
                              -OUTPUT FILES-
/Fa[file] name assembly listing file    /FA[scu] configure assembly listing
/Fd[file] name .PDB file                /Fe<file> name executable file
/Fm[file] name map file                 /Fo<file> name object file
/Fp<file> name precompiled header file  /Fr[file] name source browser file
/FR[file] name extended .SBR file       /Fi[file] name preprocessed file
/Fd: <file> name .PDB file              /Fe: <file> name executable file
/Fm: <file> name map file               /Fo: <file> name object file
/Fp: <file> name .PCH file              /FR: <file> name extended .SBR file
/Fi: <file> name preprocessed file      
/doc[file] process XML documentation comments and optionally name the .xdc file
                              -PREPROCESSOR-
/AI<dir> add to assembly search path    /FU<file> forced using assembly/module 
/C don't strip comments                 /D<name>{=|#}<text> define macro
/E preprocess to stdout                 /EP preprocess to stdout, no #line
/P preprocess to file                   /Fx merge injected code to file
/FI<file> name forced include file      /U<name> remove predefined macro
/u remove all predefined macros         /I<dir> add to include search path
/X ignore "standard places"             
                                -LANGUAGE-
/Zi enable debugging information        /Z7 enable old-style debug info
/Zp[n] pack structs on n-byte boundary  /Za disable extensions
/Ze enable extensions (default)         /Zl omit default library name in .OBJ
/Zs syntax check only                   /vd{0|1|2} disable/enable vtordisp
/vm<x> type of pointers to members      
/Zc:arg1[,arg2] C++ language conformance, where arguments can be:
  forScope[-]           enforce Standard C++ for scoping rules
  wchar_t[-]            wchar_t is the native type, not a typedef
  auto[-]               enforce the new Standard C++ meaning for auto
  trigraphs[-]          enable trigraphs (off by default)
  rvalueCast[-]         enforce Standard C++ explicit type conversion rules
  strictStrings[-]      disable string-literal to [char|wchar_t]*
                        conversion (off by default)
  implicitNoexcept[-]   enable implicit noexcept on required functions
  threadSafeInit[-]     enable thread-safe local static initialization
  inline[-]             remove unreferenced function or data if it is
                        COMDAT or has internal linkage only (off by default)
  sizedDealloc[-]       enable C++14 global sized deallocation
                        functions (on by default)
  throwingNew[-]        assume operator new throws on failure (off by default)
  referenceBinding[-]   a temporary will not bind to an non-const
                        lvalue reference (off by default)
/ZH:SHA_256             use SHA256 for file checksum in debug info (experimental)
/Zo[-] generate richer debugging information for optimized code (on by default)
/ZW enable WinRT language extensions    
/constexpr:depth<N>     use <N> as the recursion depth limit
                        for constexpr (default: 512)
/constexpr:backtrace<N> show <N> constexpr evaluations
                        in diagnostics (default: 10)
/constexpr:steps<N>     terminate constexpr evaluation after
                        <N> steps (default: 100000)
/ZI enable Edit and Continue debug info 
/openmp enable OpenMP 2.0 language extensions
                              -MISCELLANEOUS-
@<file> options response file           /?, /help print this help message
/bigobj generate extended object format /c compile only, no link
/errorReport:option Report internal compiler errors to Microsoft
    none - do not send report                
    prompt - prompt to immediately send report
    queue - at next admin logon, prompt to send report (default)
    send - send report automatically         
/FC use full pathnames in diagnostics   /H<num> max external name length
/J default char type is unsigned        
/MP[n] use up to 'n' processes for compilation
/nologo suppress copyright message      
/sdl enable additional security features and warnings
/showIncludes show include file names   /Tc<source file> compile file as .c
/Tp<source file> compile file as .cpp   /TC compile all files as .c
/TP compile all files as .cpp           /V<string> set version string
/w disable all warnings                 /wd<n> disable warning n
/we<n> treat warning n as an error      /wo<n> issue warning n once
/w<l><n> set warning level 1-4 for n    /W<n> set warning level (default n=1)
/Wall enable all warnings               /WL enable one line diagnostics
/WX treat warnings as errors            /Yc[file] create .PCH file
/Yd put debug info in every .OBJ        /Yl[sym] inject .PCH ref for debug lib
/Yu[file] use .PCH file                 /Y- disable all PCH options
/Zm<n> max memory alloc (% of default)  /FS force to use MSPDBSRV.EXE
/await enable resumable functions extension
/Wv:xx[.yy[.zzzzz]] disable warnings introduced after version xx.yy.zzzzz
/source-charset:<iana-name>|.nnnn set source character set
/execution-charset:<iana-name>|.nnnn set execution character set
/utf-8 set source and execution character set to UTF-8
/validate-charset[-] validate UTF-8 files for only legal characters
                                -LINKING-
/LD Create .DLL                         /LDd Create .DLL debug library
/LN Create a .netmodule                 /F<num> set stack size
/link [linker options and libraries]    /MD link with MSVCRT.LIB
/MT link with LIBCMT.LIB                /MDd link with MSVCRTD.LIB debug lib
/MTd link with LIBCMTD.LIB debug lib    
                              -CODE ANALYSIS-
/analyze[-] Enable native analysis      /analyze:quiet[-] No warning to console
/analyze:log<name> Warnings to file     /analyze:autolog Log to *.pftlog
/analyze:autolog:ext<ext> Log to *.<ext>/analyze:autolog- No log file
/analyze:WX- Warnings not fatal         /analyze:stacksize<num> Max stack frame
/analyze:max_paths<num> Max paths       /analyze:only Analyze, no code gen


宋鹏 2019-03-09 11:23 发表评论
]]>
QT_VS2005_CE6.0_开发环境架?/title><link>//www.pppqb.icu/hkingSP/archive/2019/03/08/216291.html</link><dc:creator>宋鹏</dc:creator><author>宋鹏</author><pubDate>Fri, 08 Mar 2019 06:30:00 GMT</pubDate><guid>//www.pppqb.icu/hkingSP/archive/2019/03/08/216291.html</guid><wfw:comment>//www.pppqb.icu/hkingSP/comments/216291.html</wfw:comment><comments>//www.pppqb.icu/hkingSP/archive/2019/03/08/216291.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.pppqb.icu/hkingSP/comments/commentRss/216291.html</wfw:commentRss><trackback:ping>//www.pppqb.icu/hkingSP/services/trackbacks/216291.html</trackback:ping><description><![CDATA[<div class="dpun"><p>《QT_VS2005_CE6.0_开发环境架设?br />1、基环境Q?br />操作pȝQWindows XP<br />~译器:Q?QVS2005 VC环境 Q?QVS2005 SP1<br />QSP1 必须有,以提供CEq_的支持,没有的话QArm Emulator的程序编译不q,模拟器也报错“EmulatorStub.exe严重错误”Q?br />QT版本Qqt-everywhere-opensource-src-4.8.6.zip<br />CE SDKQARM Emulator<br /><br />2、安装步骤:<br />Q?Q把QT源码解压到E:\QT\4.8.6\CE6.0\Emulator<br />TimQ个人推荐根目录Q不带Q何下划线、空格等q子,防止出错。?br />TimQ?u>l对不能带下划线</u>Q?br />公司电脑上的目录Qv名带个下划线"4.8.6_ArmEmulator"Q结果VS2005创徏工程p|Q说~少q_支持。?br />TimQ也最好位于C盘,我把安电脑的编译版本,攑ֈ公司电脑的C盘,创徏目成功Q原来的公司版本在E盘,会失败。。不知道是不是错觉。?br />Q?Q进?#8220;Visual Studio 2005 命o提示”<br />位置?#8220;开始菜?>所有程?>Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 命o提示”。?br />然后切换到编译目录:E:\QT\4.8.6\CE6.0\Emulator<br />Q?Q执行以下命令:<br />configure -platform win32-msvc2005 -xplatform wince60standard-armv4i-msvc2005<br />①如果惌省时_部分~译Q?br />[-debug-and-release] ~译和链接两个版本的Qt<br />[-nomake examples]<br />[-nomake demos]<br />[-nomake docs]<br />[-no-multimedia] <br />[-no-phonon] <br />[-no-phonon-backend] <br />[-no-media-backend] <br />[-no-audio-backend] <br />[-no-openssl]<br />[-no-gtkstyle] <br />[-no-svg] <br />[-no-webkit]  是否~译Web相关的一些QT子库Q加上这个可以省不少~译旉Q就看你是否准备用这些库了?br />[-no-javascript-jit] <br />[-no-script]<br />[-no-scripttools] <br />[-no-sql-sqlite]<br />[-no-declarative]<br />[-no-declarative-debug] <br />TimQ以上可选项均未试验。?<br />TimQ?br />又抄来一个编译WIN32 VS2005讄的:<br />configure -fast -platform win32-msvc2005  -nomake examples -nomake docs -nomake demos -no-webkit -no-phonon -no-phonon-backend -no-multimedia<br />TimQ?br />4.8.6版的Q不怎么~译Q都会出错。?br />①W一个错误,修改如下Q?br />qclipboard_win.cpp W?06行:<br />把出错的CheckRemoteDebuggerPresentQ通过版本判断的方式,不编译进来。?br />#if defined(_MSC_VER) && _MSC_VER <= 1400<br />    return false;<br />#else<br />........................<br />    CheckRemoteDebuggerPresent(processHandle, &debugged);<br />#endif<br />②W二个错误:<br />l箋 nmake 遇到W二个错?br />     platform\DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant<br />     platform\DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected end of file in macro expansion<br />     q个错误的原因是因ؓ代码里面的非英文的引号造成的?br />    原始的错误代码如下:<br />     return WEB_UI_STRING("Look Up “<selection>”", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));<br />     大家注意 <selection> 单词前后的引受就是它造成~译报错。修Ҏ下面的代?br />    return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));<br />TimQ也是selection两侧的中文引号那里改成上文的样子Q。。奇怪老外也用q种引号么。?br />Q?Qconfigure之后讄环境变量Q?br />①使用Arm EmulatorQ?br />set INCLUDE=C:/Program Files/Microsoft Visual Studio 8/VC/ce/include;C:\Program Files\Windows CE Tools\wce600\ARM_Emulator\Include\Armv4i<br />set LIB=C:/Program Files/Microsoft Visual Studio 8/VC/ce/lib/armv4i;C:/Program Files/Windows CE Tools/wce600/ARM_Emulator/Lib/armv4i<br />set PATH=C:/Program Files/Microsoft Visual Studio 8/VC/ce/bin/x86_arm;%PATH%<br />②如果使用S2416的SDKQ?br />set INCLUDE=C:/Program Files/Microsoft Visual Studio 8/VC/ce/include;C:\Program Files\Windows CE Tools\wce600\SBC2416\Include\Armv4i<br />set LIB=C:/Program Files/Microsoft Visual Studio 8/VC/ce/lib/armv4i;C:/Program Files/Windows CE Tools/wce600/SBC2416/Lib/armv4i<br />set PATH=C:/Program Files/Microsoft Visual Studio 8/VC/ce/bin/x86_arm;%PATH%<br />执行Q?br />nmake<br />TimQ我下蝲的源?.8.6在configure之后Q出现让直行Qsetcepaths.bat wince600standard-armv4i-msvc2005 && nmake的提C,我估计不用设|上q环境变量,也有可能可以成功~译Q但不冒那个险,直接按照文章推荐的步骤来。?br />TimQ我q行setcepaths.batQ结果没有那个SDK只有wincewm60standard-armv4i-msvc2005Q而且那个BAT里面Q只是运行了check sdk的动作。。所以结论是按照推荐文章指定SDK的\径,nmake应该可以。?br />TimQ用作者的ҎQNmake~译成功。?br />Q?Q安装qt-vs-addinQ?br />安装“qt-vs-addin-1.1.10.exe”。?br />TimQ?#8220;qt-vs-addin-1.2.0-opensource.exe Q就开始不支持VS2005。?#8221;无语。?br />Q?Q修改SDK的名Uͼ<br />~辑" C:\QT\CE6.0\4.8.6\mkspecs\wince60standard-armv4i-msvc2005\qmake.conf "。?br />里面的<br />CE_SDK  = STANDARDSDK_600<br />变更?br />CE_SDK  = ARM_Emulator<br />TimQ因为原始编译的SDK环境Q它名称叫做"wince600standard-armv4i-msvc2005"QArm Emulator的库跟这个环境也是一LQ但是名UC一PQt插g会报错。?br />Q?Q包含环境变量:<br />①Arm_Emulator的话Q?br />在VS2005 -> Tool -> Options -> VC++ Directories -> Arm_Emulator里面Q?br />Include增加Q? C:\QT\4.8.6\CE6.0\Emulator\include "。?br />Library增加Q? C:\QT\4.8.6\CE6.0\Emulator\lib " 。?br />TimQ我一开始就没包含,l果~译别h的代码,报错没有" QtSql "。?br />②WIN32~译的话Q?br />在VS2005 -> Tool -> Options -> VC++ Directories -> Win32里面Q?br />Include增加Q? C:\QT\4.8.6\WIN32\include "。?br />Library增加Q? C:\QT\4.8.6\WIN32\lib " 。?br />TimQ?br />Z让Visual Assist更好的识别QT的函数名、类名,最好在VS2005里面多添加一些目录如Q?br />C:\QT\4.8.6\WIN32\src<br />C:\QT\4.8.6\WIN32\include\Qt<br />C:\QT\4.8.6\WIN32\include\QtCore<br />C:\QT\4.8.6\WIN32\include\QtGui<br />Q?Q开启Arm EmulatorQ?br />Tool -> Connect to Device -> Arm Emulator Device。?br />Q?Q新Z个QT工程Q编译、运行:<br />开启VS2005 -> File -> New -> Project -> Qt4 Projects -> Qt Window CE Application -> 都选默认设|,然后~译、部|Ӏ执行,最后成功在Arm Emulator里面弹出个对话框来(OKQ。?br />TimQ看到部|的时候,用了VS2005的库Qmsvcr80d.dllQ,q有QT的两三个库(QtCored4.dll、QtGuid4.dll什么的Q。?br />Q?0Q编?.ui文gQ设计界面:<br />安装" qt-creator-opensource-windows-x86-3.3.0.exe "Q才能打开" *.ui "文gQ从而变更界面。?br />TimQ看了下.ui文g其实是一个xmll构的文?。?br />TimQ?br />" qt-creator-opensource-windows-x86-3.0.0.exe " Based on Qt5.2.0 ( MSVC2010,32 bit )。?br />" qt-creator-opensource-windows-x86-3.3.0.exe " Based on Qt5.4.0 ( MSVC2010,32 bit )。。。?br /><br /><br /><br /><br /><br /><br /><br /></p></div><img src ="//www.pppqb.icu/hkingSP/aggbug/216291.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.pppqb.icu/hkingSP/" target="_blank">宋鹏</a> 2019-03-08 14:30 <a href="//www.pppqb.icu/hkingSP/archive/2019/03/08/216291.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Qt5.10.1 static compiling on Windows MSVC/Ubuntu g++ - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/03/08/216289.html宋鹏宋鹏Fri, 08 Mar 2019 03:00:00 GMT//www.pppqb.icu/hkingSP/archive/2019/03/08/216289.html//www.pppqb.icu/hkingSP/comments/216289.html//www.pppqb.icu/hkingSP/archive/2019/03/08/216289.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216289.html//www.pppqb.icu/hkingSP/services/trackbacks/216289.html环境QWindows10 / vs2013 or vs2015QQt5.10.1是以C++11为基Q因此vs2008歇菜了)参考代码里的ReadmeQ?br />
1.安装Q?/strong>
安装了perl/python2.7/ruby 
安装了vs2015

2.环境变量
add C:\Perl\bin to PERL_HOME
add %PERL_HOME% to path
add C:\Python27 to PYTHON_HOME
add %PYTHON_HOME% to path
add C:\Ruby26\bin to RUBY_HOME
add %RUBY_HOME% to path
add C:\Qt\Qt5.10.1\5.10.1\msvc2015\bin to QT_LIB_HOME
add %QT_LIB_HOME% to path
add C:\Qt\Qt5.10.1\Tools\QtCreator\bin to QT_CREATOR_HOME
add %QT_CREATOR_HOME% to path
注意Q像官方推荐的一Pq里最好用同一版本的binary安装的Qt比较安装?br />注意Q如果这里没有添加QT的\径,׃被推荐用nmake~译Q否则被推荐用jom~译?/div>3.代码Q?/strong>
代码解压~到C:\Qt\Qt5.10.1_src
于是Configure文g在:
C:\Qt\Qt5.10.1_src

qtbase文g夹在Q?br />
C:\Qt\Qt5.10.1_src\qtbase

4.修改配置从MD到MTQ动态链接改为静态链接)Q?/strong>
修改文gQ?br />C:\Qt\Qt5.10.1_src\qtbase\mkspecs\common\msvc-desktop.conf
修改下面几行代码Q?/div>
QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MD
QMAKE_CFLAGS_DEBUG      = -Zi -MDd
改ؓQ?br />
QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MT
QMAKE_CFLAGS_DEBUG      = -Zi -MTd

修改文gQ?br />C:\Qt\Qt5.10.1_src\qtbase\mkspecs\common\msvc-version.conf
在最前面加上Q?br />
QMAKE_MSC_VER = 1900
否则会报错:
msvc-version.conf loaded but qmake_msc_ver isn't set

q行C:\Qt\Qt5.10.1_src>configure.bat 认配置
5.~译Q?/strong>
<license>选择-opensource
控制台选择Q?/strong>
开?-> Visual Studio 2015 -> Developer Command Prompt for VS2015 

疯狂的羃减编译选择Q可以用来尝试最化~译Q?span style="color: red;">当然我失败了Q?comercial user 可以用qt的Congiguration tool 然而我q没有,有些以来无法zhQ?/strong>Q?br />
configure -confirm-license -opensource -platform win32-msvc -static -debug-and-release -prefix "C:\Qt\Qt5.10.1_static"  -make libs -nomake tools -nomake examples -nomake tests -skip qt3d -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquickcontrols -skip qtquickcontrols2 -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsvg -skip qttools -skip qttranslations -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip qtx11extras -skip qtxmlpatterns -no-feature-texthtmlparser -no-feature-textodfwriter -no-feature-concurrent -no-feature-effects -no-feature-sharedmemory -no-feature-systemsemaphore -no-feature-im -no-feature-process -no-feature-dom -no-feature-filesystemmodel -no-feature-filesystemwatcher -no-feature-graphicsview -no-feature-graphicseffect -no-feature-sizegrip -no-feature-calendarwidget -no-feature-printpreviewwidget -no-feature-keysequenceedit -no-feature-colordialog -no-feature-filedialog -no-feature-fontdialog -no-feature-printpreviewdialog -no-feature-progressdialog -no-feature-inputdialog -no-feature-errormessage -no-feature-wizard -no-feature-datawidgetmapper -no-feature-imageformat_bmp -no-feature-imageformat_ppm -no-feature-imageformat_xbm -no-feature-imageformat_png -no-feature-imageformat_jpeg -no-feature-image_heuristic_mask -no-feature-image_text -no-feature-colornames -no-feature-cups -no-feature-paint_debug -no-feature-freetype -no-feature-translation -no-feature-codecs -no-feature-big_codecs -no-feature-iconv -no-feature-ftp -no-feature-udpsocket -no-feature-networkproxy -no-feature-socks5 -no-feature-networkdiskcache -no-feature-bearermanagement -no-feature-completer -no-feature-fscompleter -no-feature-desktopservices -no-feature-mimetype -no-feature-systemtrayicon -no-feature-undocommand -no-feature-undostack -no-feature-undogroup -no-feature-undoview -no-feature-statemachine -no-feature-gestures -no-feature-dbus -no-opengl 

成功的组?Q想~译哪个 去掉哪个skipQ:
configure -confirm-license -opensource -platform win32-msvc -static -debug-and-release -prefix "C:\Qt\Qt5.10.1_mt_static" -make libs -nomake tools -nomake examples -nomake tests -skip qt3d -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquickcontrols -skip qtquickcontrols2 -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsvg -skip qttools -skip qttranslations -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip qtx11extras -skip qtxmlpatterns -no-opengl 
试2Q?br />
configure -confirm-license -opensource -platform win32-msvc -static -debug-and-release -prefix "C:\Qt\Qt5.10.1_mt_static" -make libs -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -nomake tools -nomake examples -nomake tests -skip qtandroidextras -skip qtgamepad -skip qtmacextras -skip qttools -skip qtwinextras -skip qtx11extras  -no-openssl 
Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.
l果Q?br />
Static builds of QtWebEngine aren't supported.
"Some of the required modules (android|ios|winrt|qtHaveModule(webengine)) are not available."
skip webengine l箋试Q?br />
configure -confirm-license -opensource -platform win32-msvc -static -debug-and-release -prefix "C:\Qt\Qt5.10.1_mt_static" -make libs -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -nomake tools -nomake examples -nomake tests -skip qtandroidextras -skip qtgamepad -skip qtmacextras -skip qttools -skip qtwebengine -skip qtwinextras -skip qtx11extras  -no-openssl 
l果Q?br />成功

成功的组?Q?/strong>
configure -confirm-license -opensource -platform win32-msvc -static -debug-and-release -prefix "C:\Qt\Qt5.10.1_mt_static" -make libs -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -nomake tools -nomake examples -nomake tests -skip qtandroidextras -skip qtgamepad -skip qtmacextras -skip qttools -skip qtwebengine -skip qtwinextras -skip qtx11extras  -no-openssl 
成功的组?只是在单独编译qtbase时有用,于是以后采用的成功的l合2Qȝ命o为:
cd C:\Qt\Qt5.10.1_src
configure -confirm-license -opensource -platform win32-msvc -static -debug-and-release -prefix "C:\Qt\Qt5.10.1_mt_static" -make libs -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -nomake tools -nomake examples -nomake tests -skip qtandroidextras -skip qtgamepad -skip qtmacextras -skip qttools -skip qtwebengine -skip qtwinextras -skip qtx11extras  -no-openssl 
jom -j2
jom install

plus1:
WARNING: Using OpenGL ES 2.0 on Windows without ANGLE.
The build will most likely fail.
Specify -opengl desktop to use regular OpenGL.

plus2:
-skip qtwebengine , 都是Linux only
Webengine options:
  -webengine-alsa ................ Enable ALSA support [auto] (Linux only)
  -webengine-pulseaudio .......... Enable PulseAudio support [auto]
                                   (Linux only)
  -webengine-embedded-build ...... Enable Linux embedded build [auto]
                                   (Linux only)
  -webengine-icu ................. Use system ICU libraries [system/qt]
                                   (Linux only)

plus3:
Static builds of QtWebEngine aren't supported.

环境QUbuntu 18.10/linux g++


1.安装Q?/strong>
安装了perl/python/ruby ( Linux ?python2.x 的名字是python python3.x的名字是python3 )
l一安装Q?br />

sudo apt-get install build-essential libpcap0.8-dev libx11-dev libfreetype6-dev libavahi-gobject-dev libsm-dev libxrender-dev perl python ruby


2.环境变量Q?/strong>
linux的环境变?只要不是Ҏ安装的,应该都被包含在内?br />
3.代码Q?/strong>
同上

4.动态链接改为静态链接:
linux没有md/mtQ编译都时?直接-static应该可以?br />
5.~译Q?/strong>
试的组?:
./configure -confirm-license -opensource -static -debug-and-release -prefix "/home/peng/Share/Qt5.10.1_static" -make libs -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -qt-xcb -opengl desktop -nomake tools -nomake examples -nomake tests -skip qtandroidextras -skip qtgamepad -skip qtmacextras -skip qttools -skip qtwebengine -skip qtwinextras -no-openssl 
~译出错Q?br />
qfilesystemengine_unix.cpp:101:12: error: ‘int renameat2(int, const char*, int, const char*, unsigned int)’ was declared ‘extern’ and later ‘static’ [-fpermissive]
bug fixQ?br />据说要安装glibc2.28来解冟뀂?/div>
参考文献:
https://retifrav.github.io/blog/2018/02/17/build-qt-statically/
https://blog.csdn.net/u012822903/article/details/62058287



宋鹏 2019-03-08 11:00 发表评论
]]>GitW三阶段Qshow log/show head/show modified/modify comment - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/03/05/216287.html宋鹏宋鹏Tue, 05 Mar 2019 01:09:00 GMT//www.pppqb.icu/hkingSP/archive/2019/03/05/216287.html//www.pppqb.icu/hkingSP/comments/216287.html//www.pppqb.icu/hkingSP/archive/2019/03/05/216287.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216287.html//www.pppqb.icu/hkingSP/services/trackbacks/216287.html查看日志Q本地commit记录Q:

git log
result:
commit f46a2277acf6b1604f3268fcd3652682f23347bc (HEAD -> master)
Author: songpeng <song.peng@bizerba.com>
Date:   Mon Mar 4 17:07:09 2019 +0800
查看日志中的某次提交Q?/strong>
git show f46a2277acf6b1604f3268fcd3652682f23347bc 


查看本地代码修改情况Q?br />已修改,未add的变_
git diff
已addQ未commit的变_
git diff --cached
上面两条合ƈQ?br />git diff HEAD

变更日志内容QcommentQ?
首先昄最q?ơ提交的commit:
git rebase -i HEAD~3
q行后显C如?我是在windows里面安装了vim,内容会显C在vim里,不知道没安装vim会如何显C?Q?br />
pick 41b65c0 recursive_search_and_link_libraries
pick 0de33bd success_built_with_vs2013lib_on_creator
pick 7ed1e94 success to built with vs2013lib and run on vs2013 ide
Ud光标到想要修改commit的所在行Q将pickҎrewordQ然后保?br />然后h的界面内cM会出C想修改的commentQ将之修改保存?br />然后q行Q?br />git push --forceQ就会重C到服务器Q更C要修改的comment.




宋鹏 2019-03-05 09:09 发表评论
]]>GitW二阶段Qadd files/undo add/branch add/branch view/branch new/branch delete/branch push/pull remote to local files/fetch origin - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/03/04/216286.html宋鹏宋鹏Mon, 04 Mar 2019 08:26:00 GMT//www.pppqb.icu/hkingSP/archive/2019/03/04/216286.html//www.pppqb.icu/hkingSP/comments/216286.html//www.pppqb.icu/hkingSP/archive/2019/03/04/216286.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216286.html//www.pppqb.icu/hkingSP/services/trackbacks/216286.htmladd:
git add *

undo add:
You can undo git add before commit with

git reset <file> 

which will remove it from the current index (the "about to be committed" list) without changing anything else.

You can use

git reset

add brach:
git branch rikSkinLoader

view branch:
git branch -a

switch branch:
git checkout BranchName

delete branch:
git branch -d

push branch:
git push origin branchname

pull:
git pull origin <remote_branch>Q?lt;local_branch>
git pull origin master:master



查看q端变更/后箋操作Q?br />git remote update

 

First use git remote update, to bring your remote refs up to date. Then you can do one of several things, such as:


git status -uno 
git status -uno will tell you whether the branch you are tracking is ahead, behind or has diverged. If it says nothing, the local and remote are the same.
git show-branch *master
git show-branch *master will show you the commits in all of the branches whose names end in 'master' (eg master and origin/master).


宋鹏 2019-03-04 16:26 发表评论
]]>
Linux 快捷方式(?英链?/ln命o用法 - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/03/03/216280.html宋鹏宋鹏Sun, 03 Mar 2019 03:24:00 GMT//www.pppqb.icu/hkingSP/archive/2019/03/03/216280.html//www.pppqb.icu/hkingSP/comments/216280.html//www.pppqb.icu/hkingSP/archive/2019/03/03/216280.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216280.html//www.pppqb.icu/hkingSP/services/trackbacks/216280.html阅读全文

宋鹏 2019-03-03 11:24 发表评论
]]>
Vim 配置 - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/03/03/216279.html宋鹏宋鹏Sun, 03 Mar 2019 02:54:00 GMT//www.pppqb.icu/hkingSP/archive/2019/03/03/216279.html//www.pppqb.icu/hkingSP/comments/216279.html//www.pppqb.icu/hkingSP/archive/2019/03/03/216279.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216279.html//www.pppqb.icu/hkingSP/services/trackbacks/216279.htmlpȝ位置Q?/strong>
/etc/vim/vimrc

用户位置Q默认无Q:
~/.vimrc

Vim 配置颜色主题Q?/strong>
https://vimcolors.com/

Vim 配置下蝲的themeQ?/strong>
C面的|站下蝲sometheme.vim文g
攑ֈ ?.vim/colors下面
.vimrc中加入:color sometheme
.vimrc中加入:syntax on 

.vimrc内容Q?/strong>
" 昄行号
 set nu
" ~进I格?/span>
set tabstop=4
" 颜色主题
color railscasts
" 颜色语法生效
syntax on
" Ҏ文cdQ自动安排羃q,比如对待.c文g和对待makefile会有不同的羃q?/span>
filetype indent on
" 文g~码Qwithout bomQ:
set nobomb
" 内部~码
set encoding=utf-8
" 文g~码utf-8
set fileencoding=utf-8
" ~码列表
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1



宋鹏 2019-03-03 10:54 发表评论
]]>
Vim 文g~码查看/修改 - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/03/03/216278.html宋鹏宋鹏Sun, 03 Mar 2019 01:55:00 GMT//www.pppqb.icu/hkingSP/archive/2019/03/03/216278.html//www.pppqb.icu/hkingSP/comments/216278.html//www.pppqb.icu/hkingSP/archive/2019/03/03/216278.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216278.html//www.pppqb.icu/hkingSP/services/trackbacks/216278.htmlVim 文g~码查看Q?/span>
:set fileencoding

Vim 文g~码修改Q?/span>
:set fileencoding=utf-8

Vim 文g~码修改Qwithout bomQ:
:set nobomb
:set fileencoding=utf-8  or :wq

Terminal中文件编码查看:
file name.cpp

宋鹏 2019-03-03 09:55 发表评论
]]>
GitW一阶段Q入门操?check in riles/checkout files) - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/03/02/216277.html宋鹏宋鹏Sat, 02 Mar 2019 06:54:00 GMT//www.pppqb.icu/hkingSP/archive/2019/03/02/216277.html//www.pppqb.icu/hkingSP/comments/216277.html//www.pppqb.icu/hkingSP/archive/2019/03/02/216277.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216277.html//www.pppqb.icu/hkingSP/services/trackbacks/216277.htmlclone
Q?/span>
git clone https://github.com/songpeng22/HelloWorld.git

clone with username and password:
git clone https://username:password@github.com/username/repository.git.

clone old version:
git clone git://sourceware.org/git/glibc.git
cd glibc
git checkout glibc-2.28

config:
git config --global user.email "songpeng24@msn.com"
git config --global user.name 'songpeng22'

config status:
git config -l

project Status:
git status

在github上创建:
https://github.com/songpeng22/CMake_QT_03_Qml-Standard.git
git init
git add README.md
git add * git commit -m "first commit" git remote add origin https://github.com/songpeng22/CMake_QT_03_Qml-Standard.git git push -u origin master




宋鹏 2019-03-02 14:54 发表评论
]]>Vim 多文件编?切换 - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/02/28/216272.html宋鹏宋鹏Thu, 28 Feb 2019 05:58:00 GMT//www.pppqb.icu/hkingSP/archive/2019/02/28/216272.html//www.pppqb.icu/hkingSP/comments/216272.html//www.pppqb.icu/hkingSP/archive/2019/02/28/216272.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216272.html//www.pppqb.icu/hkingSP/services/trackbacks/216272.html多文件编辑(多个源码文g~辑Q?/strong>Q?/span>
1、打开W一个源码:
在命令行中输?/span>
vi drivers/nand_legacy/nand_legacy.c
vi打开了nand_legacy.c文g。?/span>
2、打开W二个源码:
在此基础上,在vi~辑界面Q命令模式下Q?/span>
输入Qsp common/env_nand.c
可以再多打开一个源码。?/span>
TimQ?/span>
文g夹符号一定要? / "
3、在文g间切换:
Q?Q?/span>
Ctrl + w
然后上下键选择。?/span>
Q?Q?/span>
Ctrl + w + w
按两ơw切换q去。?/span>



宋鹏 2019-02-28 13:58 发表评论
]]>
Vim 搜烦 替换 撤销 - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/02/28/216271.html宋鹏宋鹏Thu, 28 Feb 2019 05:58:00 GMT//www.pppqb.icu/hkingSP/archive/2019/02/28/216271.html//www.pppqb.icu/hkingSP/comments/216271.html//www.pppqb.icu/hkingSP/archive/2019/02/28/216271.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216271.html//www.pppqb.icu/hkingSP/services/trackbacks/216271.html6-1、搜索字W串
Q?/span>
Q?Q命令模式下输入Q?/span>
/字符?/span>
例如" /Section 3 "?/span>
Q?Q如果查找下一?
?#8220;n”卛_?/span>
6-2、替换字W串Q?/span>
Q?Q替换当前行W一?ELFIN_GPIO_BASE ?S3C2410_GPIO_BASEQ?/span>
:s/ELFIN_GPIO_BASE/S3C2410_GPIO_BASE/ 
Q?Q替换每一行中所?ELFIN_GPIO_BASE ?S3C2410_GPIO_BASEQ?/span>
:%s/ELFIN_GPIO_BASE/S3C2410_GPIO_BASE/g

6-2、替换:
全局替换Q将P1替换为P2Q:
:%s/p1/p2/g:
替换实例Q对/etc/apt/sources.list 中的|址q行替换Q\要用/q行转义
%s/us.archive.ubuntu.com\/ubuntu\//old-releases.ubuntu.com\/ubuntu\//g

7、撤销操作Q?/span>
按u
可以撤销上次的操作。?/span>


宋鹏 2019-02-28 13:58 发表评论
]]>Vim复制 _脓 删除 - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/02/28/216270.html宋鹏宋鹏Thu, 28 Feb 2019 05:56:00 GMT//www.pppqb.icu/hkingSP/archive/2019/02/28/216270.html//www.pppqb.icu/hkingSP/comments/216270.html//www.pppqb.icu/hkingSP/archive/2019/02/28/216270.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216270.html//www.pppqb.icu/hkingSP/services/trackbacks/216270.htmlVI~辑?/strong>Q?br />1、复制一?/strong>Q?br />yy

2、粘?/strong>Q?br />p

3、删除一?/strong>Q?br />dd

4、全部删?/strong>Q?br />dGQ在命o模式下)

5、多行复制、剪切、粘?/strong>Q?br />Q?Q、选择内容Q?br />按vQ在命o模式下按vQ?br />切换到可视模式了Q按方向键,知道选中你想要的内容
Q?Q、复制、剪切内容:
①按yQ复?br />②按dQ剪?br />③、粘贴内容:
光标移C要粘贴的位置?br />按p
q贴了之前复制、剪切的内容?br />



宋鹏 2019-02-28 13:56 发表评论
]]>
Vim基础/Vim模式切换 - սƵ2019|սع//www.pppqb.icu/hkingSP/archive/2019/02/28/216269.html宋鹏宋鹏Thu, 28 Feb 2019 05:55:00 GMT//www.pppqb.icu/hkingSP/archive/2019/02/28/216269.html//www.pppqb.icu/hkingSP/comments/216269.html//www.pppqb.icu/hkingSP/archive/2019/02/28/216269.html#Feedback0//www.pppqb.icu/hkingSP/comments/commentRss/216269.html//www.pppqb.icu/hkingSP/services/trackbacks/216269.htmlVI~辑器_基础Q打开、退出、切换)Q?br />1、创建和~辑文gQ?br />sudo vi hello.cpp

2、编辑模式:
2-1、按 i q入~辑模式
2-2、按ESC q入命o模式

3、退出:
? : Ȁzd?br />:q退?br />:wq保存退?br />
4、显C?br />:set nu

VI~辑器_模式Q?br />1、模式切?/strong>Q?br />ESC
q入命o模式
命o模式下:
o 换行
x 删除光标下的输入
dd 删除一?br />hjkl 可以上下左右Ud

Q?br />q入末行模式
末行模式下:
q 退?br />
i
q入~辑模式。?br />TimQ模式切换都是先ESC回到命o模式之后再进行。?br />



սƵ2019 2019-02-28 13:55 发表评论
]]>