小编Jon*_*Jon的帖子

无法使用Visual Studio 2015 Pro构建boost 1.60

平台是Windows服务器2012R2.安装的工具集是VS2015,带有更新1和Windows驱动程序工具包10.

我运行"VS2015 x64 Native Tools命令提示符",导航到我的解压缩的boost_1_60_0文件夹并运行bootstrap.bat(也使用选项'msvc'运行).

它很快就失败了:

Building Boost.Build engine

Failed to build Boost.Build engine.
Please consult bootstrap.log for further diagnostics.

You can try to obtain a prebuilt binary from

   http://sf.net/project/showfiles.php?group_id=7586&package_id=72941

Also, you can file an issue at http://svn.boost.org
Please attach bootstrap.log in that case.
Run Code Online (Sandbox Code Playgroud)

和bootstrap.log内容:

###
### Using 'vc14' toolset.
###

C:\git\3rdpartySW\boost-build\boost_1_60_0\tools\build\src\engine>if exist bootstrap rd /S /Q bootstrap 

C:\git\3rdpartySW\boost-build\boost_1_60_0\tools\build\src\engine>md bootstrap 

C:\git\3rdpartySW\boost-build\boost_1_60_0\tools\build\src\engine>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0  command.c compile.c constants.c debug.c execcmd.c execnt.c …
Run Code Online (Sandbox Code Playgroud)

c++ boost visual-studio visual-studio-2015

6
推荐指数
1
解决办法
2832
查看次数

配置IntelliJ以使用反编译jar的源代码的正确方法

我一直在努力想出这个问题,而不是采用正确的方法.我仔细阅读了这个问题,我已经尝试过这个问题,但是它运行得不对..使用IntelliJ EAP 142.4675.3

我想要做的是使用我放入JAVA_HOME\jre\lib\ext的jar(扩展Provider类)文件来调试junit测试.我希望那个jar也可以调试.

问题是,如果我将源目录作为jar的源附加,那么,在堆栈跟踪中,当我单击指定文件(包含我希望查看的方法)时,IntelliJ要求我在两个相同的文件中进行选择文件,大概是因为它知道源(它在我的项目中的模块中),并且它也通过我添加的jar源路径被告知源.

我尝试将provider.jar添加到项目模块依赖项选项卡,这导致intellij没有结束悲伤.恢复到jre\lib\ext中,并且在Platform Settings-> SDKs-> 1.8-> Sourcepath选项卡中,我添加了模块源路径.这让intellij进入jar的.java文件,而不是.class文件,但是,当它这样做时,我现在在我的代码窗口的顶部得到一个横幅,上面写着"可用于类xxx的替代源"和在RHS中有一个组合框,模块名称列出两次(在最新的EAP中,它实际上列出了模块和jar [与模块同名,带.jar]).并且,如前所述,当我单击堆栈跟踪中的文件时,IDE会询问我希望编辑哪个(相同的)文件.

显然,有些事情不太正确..我错过了什么?我发现奇怪的是,当我按照上面的代码附加代码时,ide不会打开源代码,但是,当我这样做时,它会看到它两次.

java debugging jar intellij-idea

5
推荐指数
1
解决办法
3009
查看次数

如何创建一个带有三个点的小按钮?

我想创建一个带有三个点的小按钮,就像我们在visual studio中看到的那样,以便加载FolderBrowserDialog.如何最好地创建此按钮?我做的最好的是获得一个23x23按钮,边距和填充设置为0,文本三个点(只显示两个)和自动椭圆(显示第三个点).按钮仍然比我想要的大得多,并且点不能很好地突出.

.net c# winforms

4
推荐指数
1
解决办法
5656
查看次数

如何以编程方式更新log4net配置文件?

我目前在应用程序的app.config文件中有log4net配置,如下所示:

...
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="logs\Service.log"/>
      <appendToFile value="true"/>
      <rollingStyle value="Date"/>
      <datePattern value="yyyyMMdd"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
      </layout>
    </appender>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
      </layout>
    </appender>
    <logger name="Data.WebService">
      <level value="ALL"/>
      <appender-ref ref="ConsoleAppender"/>
      <appender-ref ref="RollingLogFileAppender"/>
    </logger>
    <logger name="Data.Host.HostService">
      <level value="ALL"/>
      <appender-ref ref="ConsoleAppender"/>
      <appender-ref ref="RollingLogFileAppender"/>
    </logger>
  </log4net>
Run Code Online (Sandbox Code Playgroud)

我知道我可以在via中读到这个log4net.Config.XmlConfigurator.Configure();,但是,我希望能够通过某种调用来更新它.我将接受来自Web服务的配置,一旦我设置了新的配置(目前只有日志级别,但我不排除其他可配置的东西),我需要更新配置中的内容文件.

将所有配置放在一个文件中非常方便,但是,我可以将配置定位在另一个文件中,如果这样可以更简单.

.net c# log4net

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

需要帮助理解脚本部分(globs和参考)

我正在审查这个问题,特别是埃里克斯特罗姆先生的回应,并对其中一部分更"神奇"的元素提出了疑问.请查看上下文的链接问题,因为我只是想了解这个块的内部部分:

for (qw($SCALAR @ARRAY %HASH)) {
    my ($sigil, $type) = /(.)(.+)/;
    if (my $ref = *$glob{$type}) {
        $vars{$sigil.$name} = /\$/ ? $$ref : $ref
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,它循环超过三个单词,将每个单词分成两个变量,$sigil并且$type.该if {}块是什么我不理解.我怀疑其中的部分( .. )正在获得对内容中的内容的符号引用$glob{$type}...必须有一些"魔法"(我尚未理解的潜在机制的一些深奥元素)依赖于那里来确定其类型"尖头"数据?

下一行也部分令人费解.在我看来,我们正在分配vars哈希,但rhs在做什么?我们没有$_在最后一次操作$ref中分配(已分配),那么在/\$/块中进行比较的是什么?我的猜测是,如果我们正在处理标量(虽然我无法辨别出它们是什么),我们deref $refvar并将其直接存储在散列中,否则,我们存储引用.

所以,只是想看看这三行中发生了什么的故事.非常感谢!

perl

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

在EOL标记处分割线条时出现奇怪的警告

当我运行以下代码时,我得到了我预期的输出 - 四条单独的行.当我取消注释该use warnings行时,我会打印出一条消息:

无法识别的逃脱\R通过./regex.pl第13行传递.

这是什么意思?我在搜索该消息时找不到多少但该程序似乎有效(换句话说,逃脱\R被识别).

我正在使用Perl 5.8.8

#!/usr/bin/perl

use strict;
#use warnings;

my $txt = <<EOF;
dddddddddddddddd
eeeeeeeeeeeeeeee
ffffffffffffffff
gggggggggggggggg
EOF

my @tarr = split(/\R/, $txt);

foreach my $t (@tarr )
{
    print $t . "\n";
}
Run Code Online (Sandbox Code Playgroud)

regex perl

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

Java Int Confusion

据我所知,在Java中,没有未签名的数字,它们都是在幕后用魔法签名来理解它.

所以,我对此感到困惑,这可能就是我之前提到过的那种躲避我的魔法.

private static int broadcast = 0xffffffff; //4294967295
Run Code Online (Sandbox Code Playgroud)

我正在使用IntelliJ作为IDE,并且上面的声明工作正常.如果我用小数#替换十六进制数字,我会抱怨数字太大.它是相同的数字,我错过了什么?

我是如何使用它的:

package com.company;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class Main {

    private final static int broadcast = 0xffffffff;    //4294967295, or 255.255.255.255
    private final static int firstClassE = 0xf0000000;  //4026531840, or 240.0.0.0

    public static int GetIntInetAddress(InetAddress toConvert)
    {
        final byte[] addr = toConvert.getAddress();

        final int ipAddr =
                ((addr[0] & 0xFF) << (3 * 8)) +
                        ((addr[1] & 0xFF) << (2 * 8)) +
                        ((addr[2] & 0xFF) << (1 * 8)) + …
Run Code Online (Sandbox Code Playgroud)

java int

-1
推荐指数
2
解决办法
184
查看次数