c++ - C++ 控制台应用程序调用 C++/CLI 静态库
问题描述
我正在尝试创建一个 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);
}
};
}
解决方案
推荐阅读
- php - Attach PHP fputcsv as PHPMailer attachment
- php - imap_open authentication failure on localhost
- python - 如何在 Flask 应用程序中使用条件语句?
- simulation - 是否可以在 scilab Xcos 中创建压力传感器和其他仪器?
- angular - 递归 @SkipSelf 组件的根提供程序
- java - 为什么我的 Java 套接字客户端代码永远循环而不会抛出 IO 异常,即使另一端的服务器已经死了?
- php - Doctrine 分配错误:无法将 Doctrine\ORM\PersistentCollection 分配给属性
- python - Python,如何用大写版本替换匹配的正则表达式模式
- forms - 将网站放在自动化脚本中?
- hyperledger-fabric - 在超级账本结构中升级链码没有错误,但不反映更改