c++ 環境構築とかメモ

DLLを使う

c/c++ 追加のインクルードディレクトリでヘッダーファイルが入ったフォルダのパスを通す

リンカ 追加のライブラリディレクトリでdllが入ったフォルダのパスを通す

Libを使う

c/c++ 追加のインクルードディレクトリでヘッダーファイルが入ったフォルダのパスを通す

リンカ 追加のライブラリディレクトリでlibが入ったフォルダのパスを通す リンカ 入力 追加の依存ファイルで使うlibを追加(↑の工程を飛ばして絶対パス指定でもできます)

追加の依存ファイルの代わりにソースで#pragma comment( lib, "d3d11.lib" )みたいな感じでかける。しかしプロジェクトの設定次第では#pragma commentが機能しない場合がある。 

pragma commentが機能しない場合の解決法

参考URL

blog.livedoor.jp

http://www.yo-net.jp/yonewiki/index.php?title=C_%E3%83%97%E3%83%A9%E3%82%B0%E3%83%9Ewww.yo-net.jp

中間ファイルの出力先を変更

デフォルトだとexeと別の場所で無駄にフォルダが出来るのでpdbとかを確実にexeと同じ場所に出力する

構成プロパティ 全般 出力ディレクトリと中間ディレクトリを同じにする

インクルードを階層を意識しないで出来るようにする

c/c++ 追加のインクルードディレクトリでヘッダーファイルが入ったフォルダのパスを通す ヘッダーファイルが入ってるフォルダをすべて通す パスはソリューションファイルからの相対パス .ソリューションファイルと同じ階層は .¥ 例この階層の場合 sln ↓ include src ↓ ↓ .h App ↓ .h↓ パスを通し方 .¥ .¥include .¥src\App

参考URL http://flat-leon.hatenablog.com/entry/cpp_include_header

Releaseコンパイルを早くする

c/c++ コマンドライン 追加オプションに /MP or /MP並列させたい数 /MP3など追加

ビルド構成ごとにシンボルと定義

c/c++ プリプロセッサ プリプロセッサの定義で定義

専用のビルド構成を作る

構成マネージャーから作ってください

ソリューション構成とプロジェクト構成の関係

こんな感じ f:id:Brave345:20200115142505p:plain

注意点すべきこと

プロジェクトの名前変更はダルい

だるい

その他

コンパイラのしくみ

参考URL

kamino.hatenablog.com

【Visual Studio】 cppやヘッダーがビルド対象にならないときの対処法

はじめに

cppをプロジェクトに含めてもなぜかビルド対象にならないことがあったのでメモ

環境はVisual Studio2015

対処法

.vcxprojと.filtersの中身を直接書き換えることで無理やりビルド対象にします

.vcxproj

こうなっているのを

 <ItemGroup>
 <None Include="Test.cpp" />
 </ItemGroup>

こうすればいい

 <ItemGroup>
  <ClCompile Include="Test.cppp" />
 </ItemGroup>

.filters

これを追加する

 <ItemGroup>
    <ClCompile Include="Test.cpp">
    </ClCompile>
 </ItemGroup>

【Unity】ShaderGraphで画像をグレースケールにする

はじめに

今回は画像をグレースケールにしていきます。

環境は Unity 2019.3.0f3

Universal Render Pipeline(テンプレートのプロジェクトです)

UnlitGraph を使用しています。

ノード作成

f:id:Brave345:20200720102212p:plain

コードはこんな感じです

Gray =
 Color.x * 0.3f +
 Color.y * 0.6f +
 Color.z * 0.1f;

完成

f:id:Brave345:20200720102201p:plain

【Unity】ShaderGraphでコントラストを変更する

はじめに

今回はコントラストを変更していきます。

環境は Unity 2019.3.0f3

Universal Render Pipeline(テンプレートのプロジェクトです)

UnlitGraph を使用しています。

ノード作成

Contrastノードを使用することでコントラストを変更することが出来ます

1未満でコントラストを弱く、1以上でコントラストを強くすることが出来ます

f:id:Brave345:20200713153857p:plain

完成

f:id:Brave345:20200713153804g:plain

MSBuildをbatで実行時のエラー対象方法まとめ

〇〇〇が見つかりませんでした

error MSB4019: インポートされたプロジェクト 〇〇〇が見つかりませんでした。 宣言のパスが正しいかどうか、 およびファイルがディスクに存在しているかどうかを確認してください。

これ関係はだいたいほかの場所に必要なものがあるのでそれをコピーして必要なパスに置けばいい。

参考サイト https://naichilab.blogspot.com/2015/03/msbuild-msb4019-microsoftwebapplication.html

.slnのバージョンによるエラー

.slnのバージョンのバージョンによって必要な.NET\Frameworkのバージョンが異なります。 例として2008なら3.5とかで大丈夫ですが、2015なら4.0以降必要です。

DefineConstantsが機能しない

なぜかPropertyスイッチのDefineConstantsが機能しないことがあります。(原因はわからず) 対処法としてはVisual Studio側でビルドさせるビルド構成にシンボル定義するくらいしか思いつかなかった。

f:id:Brave345:20191217144645p:plain

error PRJ0008:ファイル '〇〇〇.pdb' を削除できませんでした。

batファイルでMSBuildを起動し、ビルド中に×ボタンで強制終了して、再度リビルドするとこのエラーが起こる。 対処法としてはタスクマネージャーからコンパイラを強制終了させればいいです。

f:id:Brave345:20191217144659p:plain