Я играю с идеей создания статической библиотеки C ++ / CLI, которая предоставляет ряд статических функций для управляемой функциональности EventLogger. Мое текущее Решение существует из /clr
скомпилированного проекта C ++ и консольного приложения C ++.
Visual Studio говорит мне, что ConsoleApp нужно скомпилировать с параметром /clr
, но это то, что мне не нужносделать. Есть ли какой-нибудь способ добиться того, что я пытаюсь сделать здесь?
#### ConsoleApp.cpp
#include <iostream>
#include "../ClrEtwLogger/ClrEtwLogger.h"
int main()
{
clr_etw_logger::etw_logger::etw_log();
}
#### ClrEtwLogger.h (/clr), static library
#pragma once
#using <system.dll>
using namespace System;
using namespace Diagnostics;
namespace clr_etw_logger
{
public ref class etw_logger
{
public:
static void etw_log()
{
const auto source = gcnew String("dotNet ClrEtwLogger");
const auto log = gcnew String("EtwLogger");
const auto event = gcnew String("Sample Event 1");
if (!EventLog::SourceExists(source))
{
EventLog::CreateEventSource(source, log);
}
EventLog::WriteEntry(source, event);
EventLog::WriteEntry(source, event, EventLogEntryType::Warning, 234);
}
};
}