ホーム » VC » VC 12 LNK1104 , VC 14.2 LNK2019

2021年1月
 12
3456789
10111213141516
17181920212223
24252627282930
31  

カテゴリー

アーカイブ

ブログ統計情報

  • 100,738 アクセス


VC 12 LNK1104 , VC 14.2 LNK2019

VC 6 のプロジェクトを順に更新して,…

------ ビルド開始: プロジェクト:BChgN, 構成:Debug Win32 ------
BChgN.obj : warning LNK4075: /EDITANDCONTINUE は /OPT:LBR の指定によって無視されます。
LINK : fatal error LNK1104: ファイル 'mfc120d.lib' を開くことができません。
------ ビルド開始: プロジェクト:G3_CLS, 構成:Release Win32 ------
LINK : fatal error LNK1104: ファイル 'mfc120.lib' を開くことができません。
------ ビルド開始: プロジェクト:G3_CLS, 構成:Debug Win32 ------
G3_CLS.obj : warning LNK4075: /EDITANDCONTINUE は /OPT:LBR の指定によって無視されます。
LINK : fatal error LNK1104: ファイル 'mfc120d.lib' を開くことができません。
------ ビルド開始: プロジェクト:G3_toM, 構成:Debug Win32 ------
ComPrj01.obj : warning LNK4075: /EDITANDCONTINUE は /OPT:LBR の指定によって無視されます。
LINK : fatal error LNK1104: ファイル 'mfc120d.lib' を開くことができません。
------ ビルド開始: プロジェクト:ig3_toM, 構成:Release Win32 ------
LINK : fatal error LNK1104: ファイル 'mfc120.lib' を開くことができません。
------ ビルド開始: プロジェクト:ig3_toM, 構成:Debug Win32 ------
ComPrj01.obj : warning LNK4075: /EDITANDCONTINUE は /OPT:LBR の指定によって無視されます。
LINK : fatal error LNK1104: ファイル 'mfc120d.lib' を開くことができません。
========== ビルド: 0 正常終了、6 失敗、4 更新不要、0 スキップ ==========
ビルドを開始しました...
------ ビルド開始: プロジェクト: BChgN, 構成: Debug Win32 ------
BChgN.obj : warning LNK4075: /EDITANDCONTINUE は /INCREMENTAL:NO の指定によって無視されます。
msvcrtd.lib(exe_wwinmain.obj) : error LNK2019: 未解決の外部シンボル _wWinMain@16 が関数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) で参照されました
c:\Temp\TestMBL\BChgN\Debug.142\BChgN.exe : fatal error LNK1120: 1 件の未解決の外部参照
プロジェクト "BChg142.vcxproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、1 失敗、9 更新不要、0 スキップ ==========

BChgN は SDI.exe .それ以外は MFC を使用したコンソール AP .


うまくビルドできる vcxproj と比べると,ソースのプリプロセッサの定義が異なる.
VC 12 LNK1104 の対応のためエディタでコンパイルオプションを削除
それならと思い,VC の「ソリューション エクスプローラ」で,ソースを一度プロジェクトから外して,再度追加.
うまくビルドできる様になった.
vcxproj をエディタで開き直すと,<PreprocessorDefinitions Condition> がない.

  <ItemGroup>
    <ClCompile Include="ComPrj01.cpp" />
    <ClCompile Include="ig3_toM.cpp" />
  </ItemGroup> 

StdAfx.cpp 以外はファイル名のみで良さそう.
他のプロジェクトは,エディタで削除して対応.


2020/01/25
今度は,MFC を使用していないコンソール AP .
VC の設定で「それぞれのソースのプロパティページ」-「構成プロパティ」-「C/C++」-「プリプロセッサ」-「プリプロセッサの定義」をブランクにしてみたが…
「構成プロパティ」-「C/C++」-「プリプロセッサ」-「プリプロセッサの定義」
コンパイルすると _UNICODE などが定義されない.
<親またはプロジェクトの既定値から継承>
<親またはプロジェクトの既定値から継承>」にすることで,意図した設定になった.


2024/07/04
以前は VC 7 などを通していたが,最近は VC 8 以降のみにしている.
 VC6 プロジェクトの移行
 VC6 から VC2019 への移行
こうすることで,プリプロセッサの定義がうまくない現象はなくなった様に思う..

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

4件のコメント

  1. […] 2021/02/17 VC 7 以降に変換した段階で,ソースの「プリプロセッサの定義」が引き継がれてしまう? そのため,それは削除した方が良さそう. * 間違ってプロジェクトの「プリプロセッサの定義」を削除しないこと. VC 12 LNK1104 , VC 14.2 LNK2019 […]

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

%d人のブロガーが「いいね」をつけました。