小编Ale*_*hov的帖子

无法在Windows 7 x64/VS2012上安装需要编译的节点模块

我无法安装任何需要编译的模块.所有这些都失败了,出现以下错误:

MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". ...
Run Code Online (Sandbox Code Playgroud)

我的环境:

  • Windows 7 Enterprise x64,版本6.1.7601
  • 节点x86 0.8.16
  • npm 1.2.0
  • node-gyp 0.8.2
  • Visual Studio 2012和众多软件包

相关环境变量:

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)

node.js node-gyp visual-studio-2012

191
推荐指数
9
解决办法
16万
查看次数

如何在binding.jp扩展的binding.gyp node-gyp中为静态库添加依赖性

我有一个简单的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)

我想静态链接以避免库安装/加载问题.

node.js node-gyp

14
推荐指数
2
解决办法
1万
查看次数

在 react-leaflet 地图上构建大量标记太慢

我有一个包含 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)

reactjs react-leaflet

12
推荐指数
1
解决办法
6099
查看次数

如何在C#中获取CMD /控制台编码

我需要指定正确的代码页来打包带有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# console cmd

10
推荐指数
1
解决办法
4210
查看次数

C#,ANTLR,ECMAScript语法问题

我正在尝试使用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)

antlr3

9
推荐指数
1
解决办法
2289
查看次数

如何使用msbuild命令行选项禁用nuget包还原?

我想在构建时禁用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恢复包

msbuild visual-studio nuget

9
推荐指数
2
解决办法
3897
查看次数

PhantomJs保存谷歌图表的API GeoChart的png图像

我正在尝试将谷歌图表生成的图表保存为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 google-visualization phantomjs

8
推荐指数
2
解决办法
3773
查看次数

使用FileAPI下载生成的大数据文件

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()将是一些有意义的构造.

javascript fileapi

8
推荐指数
1
解决办法
940
查看次数

带消息的C++异常

我不确定我的自定义异常方法是否正确.我想要做的是抛出自定义消息的异常,但似乎我创建了内存泄漏...

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)

我担心在构造函数中创建的数组永远不会被删除.但我不确定如何删除它 - 我应该添加析构函数还是使用完全不同的方法? …

c++ exception custom-exceptions

7
推荐指数
2
解决办法
2万
查看次数

JIRA REST API:如何在fixVersions字段上查询

我需要使用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的问题,有时会分配没有修复版本的问题.

你能帮助我吗?

jira-rest-api

7
推荐指数
1
解决办法
6018
查看次数