【问题标题】:Can't compile console app, using QPFloat, a 128-bit floating-point library无法使用 128 位浮点库 QPFloat 编译控制台应用程序
【发布时间】:2018-01-31 09:00:12
【问题描述】:

我是新来的。

我有一个问题很想得到帮助。我对 c# 很陌生,我正在尝试使用支持 128 位浮点运算的 QPFloat 库 (https://sourceforge.net/p/qpfloat/home/Home/)。

我在 GitHub (https://github.com/coder0xff/QPFloat) 上下载了源代码,解压后打开了“QPFloat.sln”。

我在 x64 上构建它并创建了“./x64/Release/QPFloat.dll”。一切正常。

我在 Visual Studio 社区 2017 上创建了一个新的 .net framework 4.6.1 控制台项目,我引用了“QPFloat.dll”并创建了以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Quadruple a;
            Console.Out.WriteLine(System.Quadruple.Pi.ToString());
            Console.ReadKey();
        }
    }
}

我执行它,它把我扔了:

An unhandled exception of type 'System.BadImageFormatException' occurred in Unknown Module.
Could not load file or assembly 'QPFloat, Version=1.0.6443.35018, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.

我不知道出了什么问题。 “QPFloat.dll”是否编译有错误,还是我必须在我的项目中添加一些内容?

请不要告诉我使用“十进制”类,因为它不适合我的目的,因为它不使用所有位而且速度太慢。

【问题讨论】:

    标签: c# dll precision 128-bit


    【解决方案1】:

    我在 x64 上构建它并创建了“./x64/Release/QPFloat.dll”。一切正常。

    您使用 64 位构建了 QPFloat 库。我会冒险猜测您正在以Any CPU 模式构建示例控制台应用程序。您也应该尝试在 64 位模式下构建它,希望这能解决您的问题

    【讨论】:

    • 非常感谢。大声笑,就是这样。 xD 你成就了我的一天,现在我可以将它添加到 Unity。
    猜你喜欢
    • 2014-01-21
    • 2014-10-20
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    相关资源
    最近更新 更多