[英]C++ code that compiles as managed .NET in visual studio (C++/CLI) and as native C++ otherwise
[英]C++ Visual Studio Compiler compiles native code as managed
我已經在VS下啟動了一個新的解決方案,該解決方案同時具有托管的UWP代碼項目和本機項目。 編譯器將編譯本機代碼並提供一個.lib文件。 編譯托管代碼時,編譯器會再次編譯本機代碼-作為托管代碼並吐出錯誤。
我有另一個可以使用的解決方案,並且嘗試復制設置。 經過一天的屬性設置比較后,我無法弄清它為什么這樣做。
關於在哪里尋找的想法?
_____以下是新的______
我已經開始了一個新的項目解決方案,並復制了所有內容。 這就是我所學到的。
首先,編譯順序不同-缺少一個stdafx.h文件,錯誤從無窮大變為僅25個。它們現在與一個文件MotionBase有關。 本機項目可以正常編譯,然后托管項目可以編譯,然后在MotionBase上轉換。 此代碼示例給出錯誤“'MotionBase':不是'BallLib'的成員”和“'input':未知的覆蓋說明符”。
#pragma once
#include "stdafx.h"
#include "FiniteDiffHelpers.h"
#include "MotionBase.h"
#include "MultiVarSolver.h"
namespace BallLib {
class PathFinderHelper : public FiniteDiffHelper
{
public:
PathFinderHelper();
Line locs;
BallLib::MotionBase output;
MotionBase input;
.....
PathFinderHelper在本機項目中編譯良好。 MotionBase中沒有錯誤。 MotionBase是BallLib的一部分。 Intelisense在PathFinderHelper中沒有錯誤。
確保將stdafx.h文件正確插入代碼中。 構建順序不同,因此您可能會陷入困境。
在托管的pch.h文件中包含(#include)本機stdafx.h。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.