C++ Builder 10.2 Tokyo > Error: 未解決の外部シンボル 'System::Win::Comobj::CoInitFlags' が...参照されています > 対処
RAD Studio 10.2 Tokyo Update 2
プロジェクトをビルド時に以下を含むエラーが出る。
[ilink32 エラー] Error: 未解決の外部シンボル 'System::Win::Comobj::CoInitFlags' が C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\19.0\LIB\WIN32\DEBUG\RTLE.LIB|syssupp から参照されています
エラーの発生手順
- ファイル > 新規作成 > その他 を選択
- C++ Builderプロジェクト > コンソールアプリケーション を選択
- 「新規コンソールアプリケーション」ダイアログにて「ターゲットフレームワーク」は「なし」を選択
- >> 以下のひな型ができる。
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include <tchar.h>
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
以下のように書き換える。
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include <tchar.h>
#else
typedef char _TCHAR;
#define _tmain main
#endif
int _tmain(int argc, _TCHAR* argv[])
{
String lpath = L"TEST";
return 0;
}
- ファイルをビルド: 成功
- プロジェクトをビルド: 下記のエラーが出る
[ilink32 エラー] Error: 未解決の外部シンボル 'fastcall System::Internal::Strhlpr::UnicodeFree(System::UnicodeString&)' が C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\19.0\LIB\WIN32\DEBUG\VCLE.LIB|ustring から参照されています
[ilink32 エラー] Error: 未解決の外部シンボル 'fastcall System::Internal::Strhlpr::UnicodeSetLength(System::UnicodeString&, int)' が C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\19.0\LIB\WIN32\DEBUG\VCLE.LIB|ustring から参照されています
[ilink32 エラー] Error: リンクを実行できません
失敗
対処
コンソールアプリケーションを新規作成する時にターゲットフレームワークを「ビジュアルコンポーネントライブラリ」にする。
作成されたひな型に対して以下のように書き換える。
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
#include <tchar.h>
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
String lpath = L"TEST";
return 0;
}
- ファイルをビルド: 成功
- プロジェクトをビルド: 成功
Bugなのか仕様なのか
ターゲットフレームワークの選択により、File1.cpp以外の部分で何かが違うのだろう。
ビルドエラーのメッセージを見ただけでは上記の対処にたどり着けないだろう。
落とし穴
「新規コンソールアプリケーション」ダイアログにて「ターゲットフレームワーク」
はIDEインストール直後は「なし」になっている。
いったん「ビジュアルコンポーネントライブラリ」に変更すると、その変更が以後記憶される。
最初の状態とは違う設定をしている場合、環境を再構築した時にエラーが発生するようになり、その原因特定に時間を取られる。
Author And Source
この問題について(C++ Builder 10.2 Tokyo > Error: 未解決の外部シンボル 'System::Win::Comobj::CoInitFlags' が...参照されています > 対処), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/ed3eabd7e7a07c4a9942著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .