エラーC1010とC3861の対処法
エラーC1010とC3861の対処法
ブログラミング自体の初心者です。
現在書籍とVisual Studio2017を使い勉強しています。
本題に入りますが、現在ファイル内の画像を表示させたいのですが、
C1010(プリコンパイルヘッダーを検索中に不明なEOFが見つかりました。'#include"stdafx.h"'をソースに追加しましたか?)
というエラーコードが出てしまいます...
しかし#include"stdafx.h" ←この部分を入力してデバッグを実行するとエラーC1010が消えるのですが新たにエラーコード
C3861('gimage':識別子が見つかりませんでした)
と、出てしまいます。この場合何をどうしたら良いのでしょうか...?もし必要であればコードのコピーを貼らせて頂きます。
長文、説明不足で申し訳ないですが御回答頂けると幸いです。
現在書籍とVisual Studio2017を使い勉強しています。
本題に入りますが、現在ファイル内の画像を表示させたいのですが、
C1010(プリコンパイルヘッダーを検索中に不明なEOFが見つかりました。'#include"stdafx.h"'をソースに追加しましたか?)
というエラーコードが出てしまいます...
しかし#include"stdafx.h" ←この部分を入力してデバッグを実行するとエラーC1010が消えるのですが新たにエラーコード
C3861('gimage':識別子が見つかりませんでした)
と、出てしまいます。この場合何をどうしたら良いのでしょうか...?もし必要であればコードのコピーを貼らせて頂きます。
長文、説明不足で申し訳ないですが御回答頂けると幸いです。
Re: エラーC1010とC3861の対処法
#include <GConsoleLib.h>
int main() {
gfront();
gcls();
gimage("C:\\GConsole追加ファイル\\sampleimg\\chap3-0.png", 0, 0);
}
stdafx.hとGConsoleLib.hは持ち合わせていないので
実行できるかはわかりません。
ダウンロード不可の環境なのでご了承ください。
参考:12歳からはじめる ゼロからのC言語 ゲームプログラミング教室(Google Books)
13歳からはじめるゼロからのC言語ゲームプログラミング教室 入門編―Windows XP/Vista/7対応(Google Books)
Re: エラーC1010とC3861の対処法
VS2017のプロジェクトのメニューが今までとかわってきといます。
プリコンパイルヘッダーを使わないプロジェクトは下記のようにします。
http://www2.koyoen.birdview.co.jp/~abcxyz/ra.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri.png
プリコンパイルヘッダーを使わないプロジェクトは下記のようにします。
http://www2.koyoen.birdview.co.jp/~abcxyz/ra.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri.png
Re: エラーC1010とC3861の対処法
空のプロジェクトにcheckを入れるのをわすれていました。
http://www2.koyoen.birdview.co.jp/~abcxyz/ru.png
プリコンパイル(stdafx.h使用) はプロの使うような大きなプロジェクトで効果があります。
https://msdn.microsoft.com/ja-jp/library/h552b3ca.aspx
http://www2.koyoen.birdview.co.jp/~abcxyz/ru.png
プリコンパイル(stdafx.h使用) はプロの使うような大きなプロジェクトで効果があります。
https://msdn.microsoft.com/ja-jp/library/h552b3ca.aspx
Re: エラーC1010とC3861の対処法
空のプロジェクトにはソースファイルがありません。
次の操作でソースファイルを作りましょう。
左のソリューションエクスプローラで
「ソースファイル」を右クリックし、
「追加」→「新しい項目」→「C++ファイル(.cpp)」を選択。
下の「名前」を適当に入力して、「追加」をクリック。
次の操作でソースファイルを作りましょう。
左のソリューションエクスプローラで
「ソースファイル」を右クリックし、
「追加」→「新しい項目」→「C++ファイル(.cpp)」を選択。
下の「名前」を適当に入力して、「追加」をクリック。
Re: エラーC1010とC3861の対処法
アップデートしたらかわったの試してみました。
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-w01.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-w02.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-w03.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-04.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-07.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-08.png
ここにC言語ファイル c1.c をつくる。
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--11.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-11a.png
設定まえにコマンドプロンプとコマンドプロンプトで動作確認します。
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-w01.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-w02.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-w03.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-04.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-07.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-08.png
ここにC言語ファイル c1.c をつくる。
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--11.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-11a.png
設定まえにコマンドプロンプとコマンドプロンプトで動作確認します。
Re: エラーC1010とC3861の対処法
C直下に下記のようにファイルを置く
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-05.png
GraphicalConsole.exe を起動しておきます
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-x01.png
実行します
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-x02.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-05.png
GraphicalConsole.exe を起動しておきます
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-x01.png
実行します
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-x02.png
Re: エラーC1010とC3861の対処法
VS2017Community 開発者用コマンドプロンプト 全コード
g.bat
g.bat
g.maknmake -f g.mak
g1.cPP (/TP よりC言語ソースとしてコンパイル)TARGETNAME=g1
C_FLAGS=/c /TP /EHsc /D "_MBCS" /MT /Ic:\GConsole追加ファイル /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /W3
LINK_FLAGS=/SUBSYSTEM:CONSOLE /LTCG /LIBPATH:c:\GConsole追加ファイル "GConsoleLib.lib" /LIBPATH:d:\dxlib "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib"
ALL:
cl $(C_FLAGS) $(TARGETNAME).cpp
link /out:$(TARGETNAME).exe $(LINK_FLAGS) $(TARGETNAME).obj
$(TARGETNAME).exe
#include <GConsoleLib.h>
int main() {
gimage("C:\\GConsole追加ファイル\\sampleimg\\chap3-0.png", 0, 0);
}
Re: エラーC1010とC3861の対処法
[ 訂正 ]
>g1.cPP (/TP よりC言語ソースとしてコンパイル)
g1.cPP (/TP より Cpp言語ソース としてコンパイル)
したがって”名前マングリング”がはっせいします。。
>g1.cPP (/TP よりC言語ソースとしてコンパイル)
g1.cPP (/TP より Cpp言語ソース としてコンパイル)
したがって”名前マングリング”がはっせいします。。
Re: エラーC1010とC3861の対処法
VS2017Community IDE での ビルド 実行結果 と 設定の方法は下記の通りです。
ビルド
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-y01.png
準備
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-y02.png
実行結果
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-y03.png
以下設定方法をきします。
ビルド
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-y01.png
準備
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-y02.png
実行結果
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-y03.png
以下設定方法をきします。
Re: エラーC1010とC3861の対処法
プロジェクトのプロパティを開く
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--12.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--13.png
include設定
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--14.pnghttp://www2.koyoen.birdview.co.jp/~abcxyz/ri--15.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--16.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--17.pnghttp://www2.koyoen.birdview.co.jp/~abcxyz/ri--18.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--19.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--12.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--13.png
include設定
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--14.pnghttp://www2.koyoen.birdview.co.jp/~abcxyz/ri--15.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--16.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--17.pnghttp://www2.koyoen.birdview.co.jp/~abcxyz/ri--18.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--19.png
Re: エラーC1010とC3861の対処法
link設定
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--20.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--21.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--22.png
GConsoleLib.h
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--20.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--21.png
http://www2.koyoen.birdview.co.jp/~abcxyz/ri--22.png
GConsoleLib.h
これによりGConsoleLib_d.lib (DEBUG用)がリンクされる。#ifndef __GRAPHICALCONLIB_H__
#define __GRAPHICALCONLIB_H__
#ifdef _DEBUG
#pragma comment(lib,"GConsoleLib_d.lib")
#endif
#ifndef _DEBUG
#pragma comment(lib,"GConsoleLib.lib")
#endif
Re: エラーC1010とC3861の対処法
メイクファイル( nmake.exe )や プロジェクト・ファイル( IDE, MSbuild.exe ) を使わずに
cl.exe を使って 簡便にテストする方法があります(^^;
まず必要なファイルを1っか所に集めます。
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z01.png
c.bat
c1.cpp
GraphicalConsole.exe をたちあげておく。
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z02.png
cl.exe を使って 簡便にテストする方法があります(^^;
まず必要なファイルを1っか所に集めます。
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z01.png
c.bat
cl c1.cpp GConsoleLib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
c1.exe
pause
#include "GConsoleLib.h"
int main() {
gimage("C:\\GConsole追加ファイル\\sampleimg\\chap3-0.png", 0, 0);
}
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z02.png
Re: エラーC1010とC3861の対処法
コマンドプロンプト
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.6.2
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>f:
F:\>cd z18g
F:\z18g>cd 0325
F:\z18g\0325>c
F:\z18g\0325>cl c1.cpp GConsoleLib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
Microsoft(R) C/C++ Optimizing Compiler Version 19.13.26128 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
c1.cpp
Microsoft (R) Incremental Linker Version 14.13.26128.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:c1.exe
c1.obj
GConsoleLib.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
GConsoleLib.lib(GConsoleLib.obj) : MSIL .netmodule または /GL を伴ってコンパイルされたモジュールが見つかりました。/LTCG を使用して再開始してください。リンカーのパフォーマンスを向上させるためには、コマンドラインに /LTCG を追加してください。
Microsoft (R) Incremental Linker Version 14.13.26128.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:c1.exe
c1.obj
GConsoleLib.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
コード生成しています。
コード生成が終了しました。
F:\z18g\0325>c1.exe
F:\z18g\0325>pause
続行するには何かキーを押してください . . .
Re: エラーC1010とC3861の対処法
コンパイルとリンクをわけた場合
c.bat
c1.cpp
GraphicalConsole.exeを起動しておいて
実行する
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z03.png
c.bat
cl /c c1.cpp
link /LTCG c1.obj GConsoleLib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
c1.exe
pause
実行する
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z03.png
Re: エラーC1010とC3861の対処法
MSBuild.exe を使ってビルドしてみる
プロジェクト・ファイルvcxproj.txt
ビルド(2回目)
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z04.png
(初回)
Debug フォルダーに実行ファイルvcxproj.exeができる。
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z05.png
最終的にcl.exe link.exe が使われる。
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z06.png
プロジェクト・ファイルvcxproj.txt
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{D36A1538-B635-46A0-9F83-120B1529CBBB}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>vs2017c</RootNamespace>
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>C:\GConsole追加ファイル;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<AdditionalLibraryDirectories>C:\GConsole追加ファイル;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="c1.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z04.png
(初回)
F:\z18g\0326>msbuild vcxproj.txt
.NET Framework 向け Microsoft (R) Build Engine バージョン 15.6.82.30579
Copyright (C) Microsoft Corporation.All rights reserved.
2018/03/26 14:24:05 にビルドを開始しました。
ノード 1 上のプロジェクト "F:\z18g\0326\vcxproj.txt" (既定のターゲット)。
PrepareForBuild:
ディレクトリ "Debug\" を作成しています。
ディレクトリ "Debug\vcxproj.tlog\" を作成しています。
InitializeBuildStatus:
"AlwaysCreate" が指定されたため "Debug\vcxproj.tlog\unsuccessfulbuild" を作成しています。
ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\bin\HostX86\x86\CL.exe /c /ZI
/nologo /W1 /WX- /diagnostics:classic /Od /Oy- /D _UNICODE /D UNICODE /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wcha
r_t /Zc:forScope /Zc:inline /Fo"Debug\\" /Fd"Debug\vc141.pdb" /Gd /TP /analyze- /FC /errorReport:queue c1.cpp
c1.cpp
Link:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\bin\HostX86\x86\link.exe /ERR
ORREPORT:QUEUE /OUT:"F:\z18g\0326\Debug\vcxproj.exe" /INCREMENTAL /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.
lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFEST
UAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG:FASTLINK /PDB:"F:\z18g\0326\Debug\vcxproj.pdb" /TLBID
:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"F:\z18g\0326\Debug\vcxproj.lib" /MACHINE:X86 Debug\c1.obj
vcxproj.txt -> F:\z18g\0326\Debug\vcxproj.exe
FinalizeBuildStatus:
ファイル "Debug\vcxproj.tlog\unsuccessfulbuild" を削除しています。
"Debug\vcxproj.tlog\vcxproj.lastbuildstate" のタッチ タスクを実行しています。
プロジェクト "F:\z18g\0326\vcxproj.txt" (既定のターゲット) のビルドが完了しました。
ビルドに成功しました。
0 個の警告
0 エラー
経過時間 00:01:58.41
F:\z18g\0326>
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z05.png
最終的にcl.exe link.exe が使われる。
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z06.png