我是一个Java noob(但已经编程了25年以上,并且从第1天开始使用OO语言).
突然间我开始收到这个错误:
Your active platform is: JDK_1.6, but the corresponding property "platforms.JDK_1.6.home" is not found in the project's properties files.
Run Code Online (Sandbox Code Playgroud)
不确定是什么导致了这种情况,也不确定Java要求我做什么.我在NetBeans IDE中工作.我尝试做的最后一件事是向我的项目添加一些二进制(图像)资源.
我们的产品基于一堆C++项目,但我们现在正在使用C#项目作为前端.我们现在也在做64位版本.
我们的计划是将所有C#dll构建为AnyCPU.C#项目将在公共bin文件夹中引用C++ dll.构建x64时,bin文件夹将包含我们的c ++ dll的x64版本,在构建Win32时,bin文件夹将包含32位版本的C++ dll.所以C#项目将构建AnyCPU,但包括x64或Win32 c ++ dll.
我的问题是,这会有效吗?在运行时,所有应该是全部32或全部64取决于我们正在运行的exe,但是编译时可以处理一个项目,目标是包含特定于平台的dll的AnyCPU吗?或者我们是否必须制作所有C#dll的平台特定版本?谢谢
所以我正在尝试 C# 的语音识别,我正在使用 System.Speech.Recognition,并且,我在互联网上搜索,尝试了一些基本语音识别的几段代码,我能找到的最好的就是这个:
using System;
using System.Text;
using System.Windows.Forms;
using System.Speech.Recognition;
namespace SpeechRecognition
{
public partial class MainForm : Form
{
SpeechRecognitionEngine recognitionEngine;
public MainForm()
{
InitializeComponent();
Initialize();
}
private void Initialize()
{
recognitionEngine = new SpeechRecognitionEngine();
recognitionEngine.SetInputToDefaultAudioDevice();
recognitionEngine.SpeechRecognized += (s, args) =>
{
foreach (RecognizedWordUnit word in args.Result.Words)
{
// You can change the minimun confidence level here
if (word.Confidence > 0.8f)
freeTextBox.Text += word.Text + " ";
}
freeTextBox.Text += Environment.NewLine;
};
}
private void startButton_Click(object sender, …Run Code Online (Sandbox Code Playgroud) 我正在尝试从Red Hat Enterprise Linux 6.5上的源代码安装Haskell Platform 2014.2.0.0.我在两年前安装了Haskell Platform 2012.4.0.0和GHC 7.4.2,以及最近安装的来自JustHub的Haskell Platform 2013.2.0.0和GHC 7.6.3.
我从源代码构建了GHC 7.8.3,但它在测试套件中不断出现7个故障.我不知道这些测试失败是否无害.(测试失败与我的问题无关,但后来可能会变得很重要.)
我解压缩2014.2.0.0的源码包,阅读README.它说,构建Haskell迭代的方法是使用shell脚本,该脚本被调用:
./platform.sh $ PATH_TO_GHC_BINDIST_TARBALL
我没有GHC二进制分发tarball.据我所知,对于任何版本的Red Hat Enterprise Linux,GHC 7.8.3都没有二进制分发tarball.我有一个GHC 7.8.3.我如何告诉platform.sh - 或者其下面的任何内容 - 没有tarball,它应该只使用$ PATH中的内容?或者,如何打包我现有的GHC 7.8.3安装,以便platform.sh接受它?
构建的GHC没有'cabal'命令,因此platform.sh中的cabal命令回退到$ PATH,我可以将其配置为其他已安装的版本(2013.2/7.6.3或2012.4/7.4). 2).它似乎没有什么区别:没有人认出'cabal --sandbox'.两者都导致抱怨我应该运行'cd hptool; cabal安装--only-dependencies',我已经完成了,反复.platform.sh永远不会超越这一点.
如果我手动在platform.sh中运行命令,我会'cd hptool; cabal build',出错了:"cabal-1.16.0.2:首先运行'configure'命令." 但是hptool目录中没有'configure'命令.
我现在卡住了.如何在RHEL 6上构建Haskell Platform 2014?
我想弄清楚如何修改 Flutter 和 Dart 中单元测试的静态 getter 的返回值。
我正在对一个简单的功能进行单元测试:
Future<bool> exampleFunc() async {
if (Platform.isIOS) {
// Do some iOS-specific things
return false;
} else if (Platform.isAndroid) {
// Do some Android-specific things
return true; // just as an example
}
throw 'Unexpected platform';
}
Run Code Online (Sandbox Code Playgroud)
我想修改类的静态 getter 的返回值:我想调整Platform.isIOS不同Platform.isAndroid测试用例的返回值。
请注意,我知道这个问题的解决方法,例如,我可以将函数拆分为两个函数(每个平台一个),我可以注入我自己的函数enum(或者在这种情况下,甚至bool可以工作)来代表受支持的平台。在这个例子中,我实际上打算这样做,但我想知道如何“修改”类的Platformgetter 的返回值,因为有时,您不想像其他人那样修改函数的签名依赖它,但您仍然想对该函数进行单元测试。
我在我的 Flutter 应用程序之一中使用fast_actions插件,并希望在用户单击快捷方式时调用无头 Dart 函数。
我只是希望在后台执行 dart 代码,而不向用户显示应用程序屏幕。我知道很多插件,如background_fetch、WorkManager 等可以安排在后台运行dart 代码。
我假设可能需要修改quick_actions插件中的java代码才能实现?
一个非常大的解决方案中的许多项目之一以某种方式设置为Build Platform == Active(x86).我希望它匹配所有其他项目("任何CPU").
我成功地将平台目标下拉列表从"Active(x86)"更改为"Any CPU",但Platform下拉列表中的"Active(x86)"是唯一选项:

我不知道这个项目是如何与其他人一起"不同步"开始的,更重要的是如何让它与其他人一致...
我认为问题可能是我的VS安装设置为VB而不是C#(它是由IT完成的,这里的大多数猫都是VB开发人员).
这:http://go4answers.webhost4life.com/Example/buildsolution-configuration-dropdown-188435.aspx提到工具| 设置,但我没有这样的菜单项.
我确实选择了将设置重置为原始设置的选项,并且"设置重置进行中"对话框现在已经转动了半小时,现在是VS"(无响应")
现在我遇到了与Windows CE项目相反的问题 - 我需要它是"x86"并且它拒绝改变为"任何CPU".
我想要更改此设置的原因是因为当尝试在手持设备上运行此应用程序时,我收到"无法找到P/Invoke DLL sqlcemeNN.dll"错误信息.
根据此:" 如果你的机器是64位中,您可能已经得到陷入默认目标平台'任何CPU’陷阱,请设置目标平台为'86’需要更多详细资讯,请访问ErikEJ的博客文章. "
我的机器是 64位,我确实阅读了引用的博客文章
...但我的配置管理器的"Active Solution Platform"下拉列表中没有"x86"选项."任何CPU"是它给我的唯一选择......
我能够以某种方式强制"Active Solution Platform"下拉列表在输入后输入"x86",但我认为它确实没有改变任何东西.在网格中,唯一的选择是"任何CPU".从"项目"列中选择"编辑..."(没有"新建...")只显示列表中的"任何CPU",灰色的"删除"按钮和关闭按钮("greyedoutprojectplatforms巴纽")
所以我尝试的是将项目的.csproj文件中的"Any CPU"的每个实例更改为"x86",并且在项目>属性>构建>平台目标中仍然显示"任何CPU"!
我可以通过几种方式检查正在运行我的Ruby代码的平台的操作系统:
RUBY_PLATFORM:https : //stackoverflow.com/a/171011/462015RbConfig::CONFIG['host_os']:https : //stackoverflow.com/a/13586108/462015是否可以知道正在运行什么Linux发行版?例如,基于Debian或基于Red Hat的发行版。
某些CPU架构(x86除外)不喜欢在未对齐的地址读取和写入多字节数字,以至于在检测到这种情况时会引发SIGBUS异常,并迫使程序员按字节顺序手动完成所有操作.虽然对于需要这个的平台可能无法做任何事情,但检查对齐并在允许未对齐访问的平台(例如x86)上执行逐字节操作将是愚蠢的.问题是:C/C++编译器是否定义了一个表示对齐要求的常量?
目前,我正在使用这个:
#if defined(_M_IX86) | defined(__i386) | defined(__i386__) | defined(i386) | defined(_X86_)
// Unaligned access is allowed.
#elif defined(_M_X64) | defined(__x86_64__) | defined(__x86_64) | defined(__amd64) | defined(__amd64__) | defined(_M_AMD64)
// Unaligned access is allowed.
#else
#define ALIGNED_ACCESS_ONLY
#endif
Run Code Online (Sandbox Code Playgroud)
但它看起来太"家酿":它不是指示当前硬件平台的实际属性,而是描述了我自己对x86-32和x86-64的考虑以及这些平台最常用的常量名称.
我读了一些关于这个主题的文章.但他们都没有描述细节.
我所知道的是:
在设备树中声明"compatible"属性:
gpio0: gpio@44e07000 {
compatible = "ti,omap4-gpio";
...
};
Run Code Online (Sandbox Code Playgroud)
并通过.建立与平台驱动程序的连接
static const struct of_device_id omap_gpio_match[] = {
{
.compatible = "ti,omap4-gpio",
},
{ },
};
...
static struct platform_driver omap_gpio_driver = {
.probe = omap_gpio_probe,
.driver = {
.name = "omap_gpio",
.pm = &gpio_pm_ops,
.of_match_table = of_match_ptr(omap_gpio_match),
},
};
Run Code Online (Sandbox Code Playgroud)
因此,of_match_table将用于匹配设备树中声明的兼容属性.
以及在platform_match(drivers/base/platform.c)函数中执行的匹配操作.我怀疑这因为I greped的参考of_match_table,并且在唯一的可能的结果of_device_get_match_data(drivers/of/device.c)函数.
~/wk/linux$ find . -name '*.c' | xargs grep '\<of_match_table\>' | …Run Code Online (Sandbox Code Playgroud) platform ×10
c# ×2
dart ×2
flutter ×2
linux ×2
32bit-64bit ×1
anycpu ×1
c ×1
c++ ×1
device-tree ×1
driver ×1
haskell ×1
installation ×1
java ×1
java-6 ×1
mockito ×1
native ×1
netbeans ×1
portability ×1
redhat ×1
rhel ×1
ruby ×1
unit-testing ×1
voice ×1
x86 ×1