私はVisual Studio 2003です。私は3つの他のモジュールを必要とする非常に共通のモジュールで機能しています。私は、新しい機能を使用しているプロジェクトだけで、3つの他のモジュールを含める必要があり、 "未解決の外部シンボル"エラーなしにリンクする関数を参照しないようにしたい。私は機能レベルのリンク、OPT:REF、考えられるすべてのプロジェクト設定を試みましたが、リンカーは常に不平を言います。私はテストのための簡単な例を作った。すべてのアイデアは素晴らしいだろう...私は限り(としてのプロジェクトでのみmain.cppにしてa.cppと罰金コンパイルするプロジェクトに必要参照されていない関数のための "未解決の外部シンボル"
//main.cpp
//#include "a.h"
int _tmain(int argc, _TCHAR* argv[])
{
//a();
return 0;
}
//a.h
#include "b.h"
void a();
//a.cpp
#include "a.h"
#include "b.h"
void a()
{
b();
}
//b.h
void b();
//b.cpp
#include "b.h"
void b()
{
}
)が呼び出されることはありません。 _tmain()でa()が呼び出された場合はもちろん、プロジェクトにb.cppを追加する必要があります。
リンカは、OPT:REFを適用していないようです。たとえit(b())が参照されていない関数(a())で参照されていても。
string_utilitiesモジュールにencrypt/decrypt関数を追加しました。私はすべてを行うモノリシックモジュールは理想的ではないと思います。 – Cowtung
また、私は理想的ではない条件付きコンパイルマクロについて同意します。 – Cowtung