Hej.
Mam bibliotekę library.lib i plik wykonywalny app.exe.
W library.lib stworzyłem sobie plik header.h, który w zależności od tego, czy app.exe linkuje bibliotekę ext.lib, czy nie zachowuje się różnie.
header.h:
#pragma once
#include <iostream>
inline void test()
{
#if __has_include(<extHeader.h>)
std::cout << "included" << std::endl;
#else
std::cout << "not included" << std::endl;
#endif
}
Problem jest taki, że
#if __has_include(<extHeader.h>)
raz zwraca true, a raz false...
Jak mógłbym to zrobić inaczej? Myślałem nad przeniesieniem definicji do solucji app.exe tzn.deklaracja dalej pozostałaby w header.h ale plik z definicją już nie.
Problem jest jednak taki, że musiałbym dla wielu exeków dołączać ten plik...