問題?應用程序無法?啟動,因為應用程序?的并行配置不?正確(2008-05-0714:43:37)標簽:雜談分類:工作經歷之前遇到過,并通過網絡搜?索解決了。今天再次遇見?,卻還是需要G?G。今天把它記錄?一下。?C++2003/2005默認?的MFC程序?是使用動態M?FC庫()來鏈接的應用程序無法啟動,因為應用程序的并行配置不正確.有關詳細信息,而動態MFC?庫使用的是ulti-?edDLL(/MD)。由于XP對于?PE文件格式?監測更加嚴格?。就會導致部分?使用多線程D?LL的可執行?文件在調用的?時候出錯。修改項目屬性?的編譯開關:?t->?ty->???ties->C/C++->?tion->??y修改成Mul?ti-?ed(/MT)修改了Run?time類型?以后需要將MFC?的編譯類型也?改成靜態庫:?t->?ty->???ties->?l->修改成Use???y一部分情況下?在這步就能解?決問題另外一部分情?況會遇見如下?情況編譯器報錯:CODE:?.lib(?.obj)?5:"??ornew[](?edint)"(?_U@?@Z)???t.lib(?.obj)產生這個問題?的原因是庫依?賴關系:Proje?ct->?ty->???ties->?->加入編譯開關?/?e:lib可以顯?示詳細的庫鏈?接順序我們發現在l??.lib聲明過?的opera?在na?fxcw.lib中再次?定義。
解決方法如下?:?t->?ty->???ties->?->Input->???加入?.?t.?t->?ty->???ties->?->Input->???y加入?.?t.lib這樣鏈接程序?就不會先按照?默認順序來連?接這兩個庫文?件應用程序無法啟動,因為應用程序的并行配置不正確.有關詳細信息,而是在最后在?加入對他們的?引用.這樣就避免了?這個問題。下面是一張可?能發生沖突的?列表,若要使用此運?行時庫請忽略這些庫?:單線程:(libc.lib)?.lib、?.lib、libcd.lib、?d.lib、?d.lib多線程:(?.lib)libc.lib、?.lib、libcd.lib、?d.lib、?d.lib使用DLL的多線程:(?.lib)libc.lib、?.lib、libcd.lib、?d.lib、?d.lib調試單線程:(libcd.lib)libc.lib、?.lib、?.lib、?d.lib、?d.lib調試多線程:(?d.lib)libc.lib、?.lib、?.lib、libcd.lib、?d.lib使用DLL的調試多線程?:(?d.lib)libc.lib、?.lib、?.lib、libcd.lib、?d.lib