エラーC1010とC3861の対処法

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

エラーC1010とC3861の対処法

#1

投稿記事 by mmli3y0 » 1ヶ月前

ブログラミング自体の初心者です。
現在書籍とVisual Studio2017を使い勉強しています。

本題に入りますが、現在ファイル内の画像を表示させたいのですが、
C1010(プリコンパイルヘッダーを検索中に不明なEOFが見つかりました。'#include"stdafx.h"'をソースに追加しましたか?)
というエラーコードが出てしまいます...

しかし#include"stdafx.h" ←この部分を入力してデバッグを実行するとエラーC1010が消えるのですが新たにエラーコード
C3861('gimage':識別子が見つかりませんでした)
と、出てしまいます。この場合何をどうしたら良いのでしょうか...?もし必要であればコードのコピーを貼らせて頂きます。
長文、説明不足で申し訳ないですが御回答頂けると幸いです。

mmli3y0

追記

#2

投稿記事 by mmli3y0 » 1ヶ月前

追記   
code
#include <GConsoleLib.h>

int main() {
gimage("C:\\GConsole追加ファイル\\sampleimg\\chap3-0.png", 0, 0);
}/code

↑これが実行しようとしているものです。

fabersid
記事: 35
登録日時: 2ヶ月前
連絡を取る:

Re: エラーC1010とC3861の対処法

#3

投稿記事 by fabersid » 1ヶ月前

コード: 全て選択

#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)

Math

Re: エラーC1010とC3861の対処法

#4

投稿記事 by Math » 1ヶ月前

VS2017のプロジェクトのメニューが今までとかわってきといます。

プリコンパイルヘッダーを使わないプロジェクトは下記のようにします。

http://www2.koyoen.birdview.co.jp/~abcxyz/ra.png

http://www2.koyoen.birdview.co.jp/~abcxyz/ri.png

Math

Re: エラーC1010とC3861の対処法

#5

投稿記事 by Math » 1ヶ月前

空のプロジェクトにcheckを入れるのをわすれていました。

http://www2.koyoen.birdview.co.jp/~abcxyz/ru.png


プリコンパイル(stdafx.h使用) はプロの使うような大きなプロジェクトで効果があります。
https://msdn.microsoft.com/ja-jp/library/h552b3ca.aspx

mmli3y0

返信

#6

投稿記事 by mmli3y0 » 1ヶ月前

#3>>   修正して頂いたコードでやってみましたが同じくエラーコードC1010が表示されてしまいました…
他の方法もあるらしいのでまだ頑張ってみようと思います。ご指摘ありがとうございましたm(__)m

mmli3y0

返信

#7

投稿記事 by mmli3y0 » 1ヶ月前

#4#5>>   ご指摘頂いた方法で試してみたのですが、コードを打ち込む画面(?)が出てこなくなりました。数回やり直してみましたが変わりませんでした。
ですが、空のプロジェクトにcheckをしなければ打ち込む画面が表示されました。もし宜しければご教示下さいm(__)m

かずま

Re: エラーC1010とC3861の対処法

#8

投稿記事 by かずま » 1ヶ月前

空のプロジェクトにはソースファイルがありません。
次の操作でソースファイルを作りましょう。

左のソリューションエクスプローラで
「ソースファイル」を右クリックし、
「追加」→「新しい項目」→「C++ファイル(.cpp)」を選択。

下の「名前」を適当に入力して、「追加」をクリック。



Math

Re: エラーC1010とC3861の対処法

#11

投稿記事 by Math » 1ヶ月前

VS2017Community 開発者用コマンドプロンプト 全コード

g.bat
nmake -f g.mak
g.mak
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
g1.cPP (/TP よりC言語ソースとしてコンパイル)
#include <GConsoleLib.h>

int main() {
gimage("C:\\GConsole追加ファイル\\sampleimg\\chap3-0.png", 0, 0);
}

Math

Re: エラーC1010とC3861の対処法

#12

投稿記事 by Math » 1ヶ月前

[ 訂正 ] 
>g1.cPP (/TP よりC言語ソースとしてコンパイル)

g1.cPP (/TP より Cpp言語ソース としてコンパイル)
したがって”名前マングリング”がはっせいします。。

Math

Re: エラーC1010とC3861の対処法

#13

投稿記事 by Math » 1ヶ月前

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

以下設定方法をきします。


Math

Re: エラーC1010とC3861の対処法

#15

投稿記事 by Math » 1ヶ月前

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
#ifndef __GRAPHICALCONLIB_H__
#define __GRAPHICALCONLIB_H__

#ifdef _DEBUG
#pragma comment(lib,"GConsoleLib_d.lib")
#endif
#ifndef _DEBUG
#pragma comment(lib,"GConsoleLib.lib")
#endif
これによりGConsoleLib_d.lib (DEBUG用)がリンクされる。

Math

Re: エラーC1010とC3861の対処法

#16

投稿記事 by Math » 4週間前

メイクファイル( nmake.exe )や プロジェクト・ファイル( IDE, MSbuild.exe ) を使わずに
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

c1.cpp

コード: 全て選択

#include "GConsoleLib.h"

int main() {
	gimage("C:\\GConsole追加ファイル\\sampleimg\\chap3-0.png", 0, 0);
}
GraphicalConsole.exe をたちあげておく。

http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z02.png

Math

Re: エラーC1010とC3861の対処法

#17

投稿記事 by Math » 4週間前

コマンドプロンプト

コード: 全て選択

**********************************************************************
** 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
続行するには何かキーを押してください . . .

Math

Re: エラーC1010とC3861の対処法

#18

投稿記事 by Math » 4週間前

コンパイルとリンクをわけた場合

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
c1.cpp

コード: 全て選択

#include "GConsoleLib.h"

int main() {
	gimage(chap3-0.png", 0, 0);
}
GraphicalConsole.exeを起動しておいて
実行する
http://www2.koyoen.birdview.co.jp/~abcxyz/ri-z03.png

Math

Re: エラーC1010とC3861の対処法

#19

投稿記事 by Math » 4週間前

[ 訂正 ] " 追加

コード: 全て選択

#include "GConsoleLib.h"

int main() {
	gimage("chap3-0.png", 0, 0);
}

Math

Re: エラーC1010とC3861の対処法

#20

投稿記事 by Math » 4週間前

MSBuild.exe を使ってビルドしてみる

プロジェクト・ファイル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>
ビルド(2回目)
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>
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

mmli3y0

返信

#21

投稿記事 by mmli3y0 » 5日前

大分時間が経ってしましましたがプロジェクト(?)の変更をしたら出来ました。大変説明不足ではありますがご教授下さった皆さん、ありがとうございますm(__)m

返信

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