二つのdllhellocli.dllhellocs.dll)については

hellocs.netmoduleをビルドし

hellocli.dllに静的リンクすれば

一つのdllhellocli.dll)にまとめることができる

 

 

下記はMicrosoft Visual Studio Community 2019を使いました

 

merrybelle.sub.jp/bbs/bbs.php[100]を参考に

hellocs.dllhellocli.dllをビルドする

 

hellocs.netmoduleのビルド

テキストエディタでhellocs.csprojファイルを

              <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

              <OutputType>Module</OutputType>

と編集しリビルドすると

hellocs.netmoduleがビルドされる

 

hellocs.netmoduleが静的リンクされたhellocli.dllのビルド

ソリューションエクスプローラー

hellocli

参照

hellocs

を右クリックし削除する

 

hellocli.cpp

              #using "hellocs.netmodule"

を追加する

 

プロジェクト

hellocliのプロパティ

C/C++

全般

追加の#usingディレクトリ

hellocs.netmoduleのディレクトリを追加する

 

リンカー

全般

追加のライブラリディレクトリ

hellocs.netmoduleのディレクトリを追加する

入力

追加の依存ファイル

;hellocs.netmoduleを追加する

 

リビルドすると

hellocs.netmoduleが静的リンクされたhellocli.dllがビルドされる

 

 

Developer Command Prompt for VS 2019

(例)D:\temp>csc -unsafe -target:module hellocs.cs

hellocli.cpp

              #using "hellocs.netmodule"

を追加し

(例)D:\temp>cl /clr /LD hellocli.cpp hellocs.netmodule /link /LTCG

でも可

 

 

hellocs.dll, hellocli.dll, helloc.exeのビルド

 

Developer Command Prompt for VS 2019

(例)D:\temp>csc -unsafe -target:library hellocs.cs

hellocli.cpp

              #using "hellocs.dll"

を追加し

(例)D:\temp>cl /clr /LD hellocli.cpp

(例)D:\temp>cl helloc.cpp