VisualStudio2010でのDLL作成について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ゴトウ

VisualStudio2010でのDLL作成について

#1

投稿記事 by ゴトウ » 9年前

1>------ ビルド開始: プロジェクト: Project, 構成: Release Win32 ------
1>2011/05/27 18:36:39 にビルドを開始しました。
1>InitializeBuildStatus:
1>  "Release\Project.unsuccessfulbuild" のタッチ タスクを実行しています。
1>ClCompile:
1>  Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
1>  Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
1>  
1>  cl /
1>  
1>CL : Command line warning D4024: unrecognized source file type '/', object file assumed
1>  Microsoft (R) Incremental Linker Version 10.00.30319.01
1>  Copyright (C) Microsoft Corporation.  All rights reserved.
1>  
1>  /out:.exe 
1>LINK : warning LNK4001: オブジェクト ファイルが指定されていません。ライブラリを使用します。
1>LINK : warning LNK4068: /MACHINE の指定がありません。X86 を既定とします。
1>LINK : fatal error LNK1561: エントリー ポイントを定義しなければなりません。
1>
1>ビルドに失敗しました。
1>
1>経過時間 00:00:00.11
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
と表示されDLL作成ができません。
以前はできていたのですがいきなりです。
OSを再インストールして、
VisualStudio2010を入れなおして、
新規プロジェクトをつくりDLLを作成しようとしましたが同じエラーでした。

なぜでしょうか?

■環境
・Windows 7 64bit
・Visual Studio 2010 Professional
■ソースコード
#include <Windows.h>

void t_main()
{
MessageBox(0,L"hello world", 0, 0);
}

BOOL WINAPI DllMain (HINSTANCE hInst, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hInst);
CreateThread(0,0,(LPTHREAD_START_ROUTINE)t_main, 0, 0, 0);
}
return TRUE;
}
[hr]

maru
記事: 150
登録日時: 9年前

Re: VisualStudio2010でのDLL作成について

#2

投稿記事 by maru » 9年前

うーん、これだけの情報では何とも言ってみようがありませんね。

ただ、本当にVS2010なら
1> Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
のversion部分は16.00.xxxxになっているはずです。

ゴトウ

Re: VisualStudio2010でのDLL作成について

#3

投稿記事 by ゴトウ » 9年前

DreamSparkのVisualStudio2010を利用しています。

Microsoft Visual Studio 2010
Version 10.0.30319.1 RTMRel
Microsoft .NET Framework
Version 4.0.30319 RTMRel

インストールされているバージョン: Professional

Microsoft Visual Basic 2010 01018-532-2002102-70843
Microsoft Visual Basic 2010

Microsoft Visual C# 2010 01018-532-2002102-70843
Microsoft Visual C# 2010

Microsoft Visual C++ 2010 01018-532-2002102-70843
Microsoft Visual C++ 2010

Microsoft Visual Studio 2010 チーム エクスプローラー 01018-532-2002102-70843
Microsoft Visual Studio 2010 チーム エクスプローラー

Crystal Reports Templates for Microsoft Visual Studio 2010
Crystal Reports Templates for Microsoft Visual Studio 2010
[hr]
また、exeの作成でも同じエラーが出ることがわかりました。
プロジェクトの作成手順は
ファイル -> 新規作成 -> プロジェクト -> Visual C++ -> Win32 -> Win32 コンソールアプリケーション -> 完了
※ソースコードは変更せずにコンパイルしました。

1>------ ビルド開始: プロジェクト: 521521521521, 構成: Debug Win32 ------
1>2011/05/27 21:34:57 にビルドを開始しました。
1>PrepareForBuild:
1> ディレクトリ "D:\Backup\Programs\VC++\521521521521\Debug\" を作成しています。
1>InitializeBuildStatus:
1> "AlwaysCreate" が指定されたため "Debug\521521521521.unsuccessfulbuild" を作成しています。
1>ClCompile:
1> Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
1> Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
1>
1> cl /
1>
1>CL : Command line warning D4024: unrecognized source file type '/', object file assumed
1> Microsoft (R) Incremental Linker Version 10.00.30319.01
1> Copyright (C) Microsoft Corporation. All rights reserved.
1>
1> /out:.exe
1>LINK : warning LNK4001: オブジェクト ファイルが指定されていません。ライブラリを使用します。
1>LINK : warning LNK4068: /MACHINE の指定がありません。X86 を既定とします。
1>LINK : fatal error LNK1561: エントリー ポイントを定義しなければなりません。
1>
1>ビルドに失敗しました。
1>
1>経過時間 00:00:00.05
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
[hr]
また、C#のコンパイル、VBのコンパイルは共に問題ありませんでした。

ISLe
記事: 2648
登録日時: 10年前
連絡を取る:

Re: VisualStudio2010でのDLL作成について

#4

投稿記事 by ISLe » 9年前

ゴトウ さんが書きました:以前はできていたのですがいきなりです。
OSを再インストールして、
VisualStudio2010を入れなおして、
新規プロジェクトをつくりDLLを作成しようとしましたが同じエラーでした。
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
というのはVisual C++ 6のコンパイラです。
Visual StudioやVisual C++ではなくても何か開発ツールをインストールしたことはありませんか。

原因は分かっていないのですが、システムフォルダにコンパイラ(CL.EXE)を放り込む悪い奴がいるらしいです。
本来は悪さした奴を突き止めてアンインストールするのが筋ですが、
とりあえずコマンドプロンプトで
WHERE CL.EXE
とコマンドを入力して、システムフォルダ内にCL.EXEがあると表示されたならそれを削除してください。

ゴトウ

Re: VisualStudio2010でのDLL作成について

#5

投稿記事 by ゴトウ » 9年前

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
というのはVisual C++ 6のコンパイラです。
Visual StudioやVisual C++ではなくても何か開発ツールをインストールしたことはありませんか。
ありません。
OSをクリーンインストールした直後にVisualStudio2010のみをインストールし、
コンパイルを試したところエラーに悩まされていました。

WHERE CL.exeコマンドを実行すると
情報: 与えられたパターンのファイルが見つかりませんでした。
とでました。

しかし、Everythingというファイルを検索するツールを利用しCL.EXEを探したところ
C:\Windows\SysWOW64\
このディレクトリにCL.EXEが存在したため削除したところうまくコンパイルができるようになりました。

なぜこのような現象が起きるか不明ですがとても助かりました。
ありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る