我无法安装任何需要编译的模块.所有这些都失败了,出现以下错误:
MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". ...
Run Code Online (Sandbox Code Playgroud)
我的环境:
相关环境变量:
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShel l\v1.0;C:\Program Files\TortoiseGit\bin;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;c:\tools;c:\tools\node
Run Code Online (Sandbox Code Playgroud)
没有INCLUDE,LIB,LIBPATH等
我对该问题进行了简短的调查,并通过以下设置确定手动编译(直接调用VCBuild.exe和msbuild.exe)成功进行手动克隆的git://github.com/einaros/ws.git:
SET Configuration=Release
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcpackages
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin;%PATH%
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\IDE;%PATH%
SET PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Bin;%PATH%
SET PATH=%SystemRoot%\system32;%PATH%
SET INCLUDE=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\include
SET INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Include;%INCLUDE% …Run Code Online (Sandbox Code Playgroud) 我有一个简单的binding.gyp文件,用于构建我的node.js扩展.我想更改库"mylib"的链接方法并静态链接它而不是使用共享库.
{
"targets": [
{
"target_name": "myext",
"sources": [
"code/main.cpp",
"code/load.cpp",
"include/load.h"
],
"include_dirs": [
"include", "../Library/include"
],
"libraries": [
"-lmylib", "-L/home/admin/MyLib/Library/binaries/linux/Release"
],
"cflags!": [ "-fno-exceptions" ],
"cflags": [ "-std=c++11" ],
"cflags_cc!": [ "-fno-exceptions" ]
}
]
}
Run Code Online (Sandbox Code Playgroud)
mylib的静态和共享版本位于同一目录中:
# ls /home/admin/MyLib/Library/binaries/linux/Release
libmylib.a libmylib.so
Run Code Online (Sandbox Code Playgroud)
我想静态链接以避免库安装/加载问题.
我有一个包含 4360 个地理标记的数据集,希望在 Leaflet 地图上显示。CircleMarker 工作正常,构建的地图的性能还可以。但是,构建地图需要太多时间(大约 20 秒)。没有反应,构建标记需要几分之一秒。是否有一些性能提示或技巧可用于使其更快地构建地图?
import * as React from 'react';
import { Component } from 'react';
import { LatLng } from 'leaflet';
import { Map, TileLayer, CircleMarker, Popup } from 'react-leaflet';
export default class Editor extends Component {
state = {
lat: 51.505,
lng: -0.09,
zoom: 13,
markers : [ ]
}
componentDidMount() {
// data.csv contains several thousands of items
fetch('data.csv')
.then(res => res.json())
.then(data => this.setState({ markers: data.items.map(v => new LatLng(v.lat, v.lng)) }));
} …Run Code Online (Sandbox Code Playgroud) 我需要指定正确的代码页来打包带有zip库的文件.我看,我需要指定控制台编码(在我的情况下为866).
C:\Users\User>mode
Status for device CON:
----------------------
Lines: 300
Columns: 130
Keyboard rate: 31
Keyboard delay: 1
Code page: 866 <- I need to get this value in C# code
Run Code Online (Sandbox Code Playgroud)
Console.OutputEncoding返回1251,这不是我需要的.
谢谢,
亚历克斯
更新1:显然,在cmd.exe中执行"mode"并解析输出应该有效但看起来太粗鲁了.我正在寻找.NET解决方案.
更新2:应用程序是Windows窗体应用程序,而不是控制台应用程序.
我正在尝试使用C#解析JavaScript(ECMASCript).
我找到了关于如何创建新项目的以下说明:http: //www.antlr.org/wiki/pages/viewpage.action?pageId = 557075
所以我下载了ANTLRWorks,ANTLR v3,解压缩的ANTLR,创建了一个VS2010项目(.NET4),添加了引用,检查并生成了语法.
然后我收到了很多编译错误:
找不到类型或命名空间名称'AstParserRuleReturnScope'(您是否缺少using指令或程序集引用?)
找不到类型或命名空间名称'GrammarRule'(您是否缺少using指令或程序集引用?)
Stackoverlowed为他们并得到一个解决方案:集成到VS2008时antlr c#错误
所以我下载了新的运行时,覆盖了旧的运行时并重新编译了项目并得到了
当前上下文中不存在名称"HIDDEN"d:\ Workspace.1\ScriptParser\ScriptParser\TestLexer.cs
好的,我已经按照以下对话中的建议将HIDDEN更改为Hidden:[antlr-interest] Csharp3目标的可行性如何?(更具体的问题)
现在我正在尝试解析输入.我找到了几个例子,并编写了以下代码:
using Antlr.Runtime;
namespace ScriptParser
{
class Program
{
static void Main(string[] args)
{
var stream = new ANTLRStringStream("1+2");
var lexer = new TestLexer(stream);
var tokenStream = new CommonTokenStream(lexer);
var parser = new TestParser(tokenStream);
// what exactly should be here???
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的目标是使用ANTLR解析JavaScript文件,但它似乎并不像我想象的那么容易......
更新:
正如 为什么antlr3 c#解析器方法是私有的?我通过添加在expr规则之前修改的"public"修改了Test.g语法:
public expr : mexpr (PLUS^ mexpr)* SEMI!
;
Run Code Online (Sandbox Code Playgroud)
然后重新生成代码,将HIDDEN替换为Hidden(再次)并修改代码如下:
var …Run Code Online (Sandbox Code Playgroud) 我想在构建时禁用NuGet包还原并使用单独的命令.这可能吗?
我的想法是使用这样的东西:
nuget.exe restore
msbuild.exe /p:NuGetRestorePackages=false
Run Code Online (Sandbox Code Playgroud)
更新:
MSBuild.exe ... /p:RestorePackages=false.nuget\nuget.exe restore solution.sln恢复包我正在尝试将谷歌图表生成的图表保存为png图像.该代码适用于除GeoChart之外的所有图表.图像有时会出现,但通常只是空白.这是代码.
render.js
var system = require('system');
var page = require('webpage').create();
page.open('chart.html, function () {
page.paperSize = { format: 'A4', orientation: 'landscape'};
page.render(system.args[1]);
phantom.exit();
});
Run Code Online (Sandbox Code Playgroud)
chart.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Chart Generation</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
google.load('visualization', '1', {'packages': ['geochart']});
google.setOnLoadCallback(drawRegionsMap);
function drawRegionsMap() {
var data = google.visualization.arrayToDataTable([
['Country', 'Popularity'],
['Germany', 200],
['United States', 300],
['Brazil', 400],
['Canada', 500],
['France', 600],
['RU', 700]
]);
var options = {
width: …Run Code Online (Sandbox Code Playgroud) JavaScript进程生成大量数据(200-300MB).我想保存这些数据以供进一步分析,但到目前为止我发现的最好的是保存使用这个例子http://jsfiddle.net/c2U2T/这对我来说不是一个选项,因为看起来它需要所有数据在开始下载之前可用.但我需要的是类似的东西
var saver = new Saver();
saver.save(); // The Save As ... dialog appears
saver.onaccepted = function () { // user accepted saving
for (var i = 0; i < 1000000; i++) {
saver.write(Math.random());
}
};
Run Code Online (Sandbox Code Playgroud)
当然,而不是Math.random()将是一些有意义的构造.
我不确定我的自定义异常方法是否正确.我想要做的是抛出自定义消息的异常,但似乎我创建了内存泄漏...
class LoadException: public std::exception {
private:
const char* message;
public:
LoadException(const std::string message);
virtual const char* what() const throw();
};
LoadException::LoadException(const std::string message) {
char* characters = new char[message.size() + 1];
std::copy(message.begin(), message.end(), characters);
characters[message.size()] = '\0';
this->message = characters;
}
Run Code Online (Sandbox Code Playgroud)
我用它如下:
void array_type_guard(Local<Value> obj, const std::string path) {
if (!obj->IsArray()) {
throw LoadException(path + " is not an array");
}
}
try {
objects = load_objects();
} catch (std::exception& e) {
ThrowException(Exception::TypeError(String::New(e.what())));
return scope.Close(Undefined());
}
Run Code Online (Sandbox Code Playgroud)
我担心在构造函数中创建的数组永远不会被删除.但我不确定如何删除它 - 我应该添加析构函数还是使用完全不同的方法? …
我需要使用JIRA REST API将15824的问题作为fixVersions字段中id的值返回.您可能知道,该字段是一个数组,可以包含多个版本.我的结果预计至少有一个元素,有时两个.以下是一个版本的示例:
"fixVersions": [
{
"self": "https:\/\/aDomain\/rest\/api\/2\/version\/15824",
"id": "15824",
"name": "2014-08",
"archived": false,
"released": false
} ]
Run Code Online (Sandbox Code Playgroud)
以下是两个版本的示例:
"fixVersions": [
{
"self": "https:\/\/domain\/rest\/api\/2\/version\/16011",
"id": "16011",
"description": "ae426557c89782c8446b03b0eacaef649373b10a",
"name": "2.2.0",
"archived": false,
"released": true,
"releaseDate": "2014-08-31"
},
{
"self": "https:\/\/domain\/rest\/api\/2\/version\/15824",
"id": "15824",
"name": "2014-08",
"archived": false,
"released": false
}
Run Code Online (Sandbox Code Playgroud)
]
无论修复版本的数量如何,我想要的问题总是有15824作为id.
我试过这个查询:
/rest/api/2/search?jql=project=MYPROJECT&fixVersion=15824&fields=id,key,fixVersions
Run Code Online (Sandbox Code Playgroud)
但这会返回其他fixVersions的问题,有时会分配没有修复版本的问题.
你能帮助我吗?