Visual Studio C++: как сделать так, чтобы части кода не отображались компилятором Windows?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Visual Studio C++: как сделать так, чтобы части кода не отображались компилятором Windows?

Сообщение Anonymous »

Итак, обычно у меня есть небольшой проект C++, основанный на кроссплатформенных библиотеках OpenSource. Так что, вероятно, он скомпилируется под Linux. Итак, я дошел до того момента, когда мне нужно реализовать некоторые функции класса, специфичные для конкретной платформы.

У меня есть заголовок класса со всеми объявлениями функций и файл cpp с реализациями. Итак, во-первых: как объявить функции, специфичные для моей платформы, в заголовке, чтобы, когда я попытаюсь скомпилировать под Linux, он не пытался скомпилировать функции, специфичные для Windows... и когда компилятор Windows не будет пытаться скомпилировать функции Linux, включая заголовки и т. д.

Итак, для окон мне нужно кое-что, как обернуть такие суперспецифичные функции.

Код: Выделить всё

HRESULT EnumerateDevices(REFGUID category, IEnumMoniker **ppEnum)
void DisplayDeviceInformation(IEnumMoniker *pEnum)
И несколько заголовков

Код: Выделить всё

#include 
#include 

#pragma comment(lib, "strmiids")
А для Linux у меня есть такие заголовки

Код: Выделить всё

#include 
#include 
#include 
#include 
И у меня есть функция с именем void PrintCamerasList(), которую я хочу иметь для реализации обеих платформ, для которых у меня есть отдельные.
Надеюсь, вы видите, что мне нужно. В общем, мне нужен какой-нибудь пример с использованием моих функций или раз уж вы можете придумать - дайте волю своему воображению!)

Так зачем мне все это - я создаю какое-то консольное приложение используя OpenCV, и мне нужно перечислить имена пользовательских камер. OpenCV не может сделать это самостоятельно. поэтому я спросил, как это сделать для обеих интересующих меня платформ - Windows и Linux

Подробнее здесь: https://stackoverflow.com/questions/429 ... s-compiler
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»