链接.dll MinGW C ++

时间:2019-04-23 15:39:10

标签: c++ dll mingw

我有一个动态库(.dll)及其标头(.h)。在我的代码中,我包含了标头,并尝试使用以下命令通过MinGW构建标头

if (source.Type != type && source is MethodCallExpression call && call.Method.IsStatic
    && call.Method.DeclaringType == typeof(Enumerable) && call.Method.Name == nameof(Enumerable.Select))
{
    var sourceEnumerable = call.Arguments[0];
    var sourceSelector = (LambdaExpression)call.Arguments[1];
    var sourceElementType = sourceSelector.Parameters[0].Type;
    var targetElementType = type.GetGenericArguments()[0];
    var targetSelector = Expression.Lambda(
        Transform(sourceSelector.Body, targetElementType),
        sourceSelector.Parameters);
    var targetMethod = call.Method.GetGenericMethodDefinition()
        .MakeGenericMethod(sourceElementType, targetElementType);
    var result = Expression.Call(targetMethod, sourceEnumerable, targetSelector);
    if (type.IsAssignableFrom(result.Type)) return result;
    return Expression.Call(
        typeof(Enumerable), nameof(Enumerable.ToList), new[] { targetElementType },
        result);
}

但是我得到了一个未定义的参考。在没有g++ main.cpp lib.dll lib.h / .a的情况下如何正确链接动态库?

这是输出:

.lib

0 个答案:

没有答案