小编Jef*_*f G的帖子

如何构建 Apache APR-Util v1.6.0 库

我真的很挣扎这个。我已经为 Windows 下载了以下每个 Apache APR 产品的最新版本:

我已经解压缩了 zip 文件并根据APR Windows 构建说明重命名了目录。然后我在 Visual Studio 2017 中打开apr-util/apr-util.dsw解决方案并执行所需的升级。当我构建时,我从apr-util/xml/xml.vcxproj项目中收到一堆关于缺少源文件的错误。我已经验证了xml项目引用的所有文件实际上都不存在于磁盘上(或在 zip 存档中)。这些文件也不存在于Linux 源代码下载中。此外,所有这些文件都存在于 APR-util v1.5.4 中。在我看来,这只剩下三种可能:

  1. 我下载的版本已损坏
  2. Apache 发布了一个缺少构建所需文件的版本
  3. 构建说明中缺少此版本所需的其他构建步骤

我已经根据预期的 MD5 哈希验证了我的apr-util下载,甚至尝试从其他镜像下载以消除 #1 的可能性。

这个版本的apr-util是在 2.5 个月前发布的,所以如果 #2 是这种情况,我希望它现在已经修复了。有没有其他人成功构建过这个版本的 Apache APR?

apr visual-studio-2017

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

调用返回记录的 Postgres 函数,传入查询结果

问题是我需要运行一个查询(仅在运行时知道)来确定我的函数的输入参数,它需要返回一个结果。例如,我想写:

CREATE FUNCTION foo(inputKey INT) RETURNS TABLE (c0 INT, c1 TEXT) AS $$
    BEGIN
        -- Do something with inputKey to compute and return result
    END;
$$ LANGUAGE PLPGSQL;
Run Code Online (Sandbox Code Playgroud)

这些是我迄今为止尝试过的查询:

-- Doesn't even run (exception)
SELECT * FROM foo(SELECT foreignKey FROM someTable WHERE primaryKey = 5);

-- Runs, but returns a single column with all columns listed in it's value
SELECT foo(foreignKey) FROM someTable WHERE primaryKey = 5;

-- Same problem as previous
SELECT * FROM (SELECT foo(foreignKey) FROM someTable WHERE …
Run Code Online (Sandbox Code Playgroud)

sql postgresql function plpgsql postgresql-9.3

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

JavaFX HBox HGrow优先级

我有一个包含a的JavaFX场景javafx.scene.layout.HBox.这HBox包含两个孩子,一个javafx.scene.control.ComboBox跟着一个javafx.scene.control.Spinner.用于说明我的问题的最小FXML文件是:

<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Spinner?>
<?import javafx.scene.control.SpinnerValueFactory.IntegerSpinnerValueFactory?>
<?import javafx.scene.layout.HBox?>

<HBox xmlns="http://javafx.com/javafx/8.0.65"
      xmlns:fx="http://javafx.com/fxml/1">
  <children>
    <ComboBox fx:id="myComboBox" />
    <Spinner fx:id="mySpinner" editable="true">
      <valueFactory>
        <SpinnerValueFactory.IntegerSpinnerValueFactory
              min="0" max="999" initialValue="0" />
      </valueFactory>
    </Spinner>
  </children>
</HBox>
Run Code Online (Sandbox Code Playgroud)

在代码中,ComboBox正在填充非常长(以字符为单位)的字符串.我也指定了所需的宽度Spinner.以下代码代表我正在做的事情:

@FXML
private ComboBox<String> myComboBox;

@FXML
private Spinner<Integer> mySpinner;

@Override
public void initialize(URL location, ResourceBundle resources) {
    myComboBox.getItems().setAll(
        "Some very long string that takes up a very large portion" +
        " of the screen.  You can probably see where …
Run Code Online (Sandbox Code Playgroud)

java javafx java-8 javafx-8

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

基于TableView中所选项的JavaFX布尔绑定

我试图Button根据a中所选行的属性值的聚合启用JavaFX TableView.以下是演示此问题的示例应用程序:

package test;

import java.util.Random;

import javafx.application.Application;
import javafx.beans.binding.Bindings;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.MultipleSelectionModel;
import javafx.scene.control.SelectionMode;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Main extends Application {

    public static void main(final String[] args) throws Exception {
        launch(args);
    }

    private static class Row {
        private final BooleanProperty myProp;
        public Row(final boolean value) {
            myProp = new SimpleBooleanProperty(value);
        }
        public BooleanProperty propProperty() { return myProp; }
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

java javafx java-8 javafx-8

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

JavaFX 如何在 GridPane 中的 HBox 中垂直对齐 CheckBox

首先,生成说明问题的 UI 的代码:

package test;

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.geometry.VPos;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class Main extends Application {

    public static void main(final String[] args) throws Exception {
        launch(args);
    }

    @Override
    public void start(final Stage window) throws Exception {
        // Create a VBox to hold the table and button
        final GridPane root = new GridPane();
        root.setHgap(5);
        root.setVgap(5);

        // Add a combo-box to the first row
        final ComboBox<String> dropdown1 = new …
Run Code Online (Sandbox Code Playgroud)

java javafx java-8 javafx-8

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

Visual Studio 2017 C ++项目将文本文件复制到输出目录

我的*.txtVisual Studio 2017 C ++项目(*.vcxproj)中包含许多文件。有谁知道如何使Visual Studio将这些文件复制到输出目录?

我为VS 2010找到了类似的问题,但该答案在Visual Studio 2017中不起作用。

copy projects-and-solutions visual-studio-2017

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

Perl 在多行上拆分长替换正则表达式

我在 Perl 正则表达式中有一个很长的替换字符串,我想将其拆分为多行。将长替换字符串拆分为多行的语法是什么?我尝试了以下操作,但没有成功(不会忽略空格):

$var =~ s/(some)(thing)/A_very_long_string_with_many_characters_that_should_be_split_over_
          multiple_lines_but_can't_be_for_whatever_reason._The_matching_groups_are_"$1"_and_"$2"/x;
Run Code Online (Sandbox Code Playgroud)

我的正则表达式替换字符串比这个人为的示例交错得多,所以我不能只是将大的文字部分放入变量中。换句话说,以下对我的情况没有帮助:

my $prefix = 'A_very_long_string_with_many_characters_that_should_be_split_over_' .
             'multiple_lines_but_can\'t_be_for_whatever_reason._The_matching_groups_are_';
$var =~ s/(some)(thing)/$prefix"$1"_and_"$2"/;
Run Code Online (Sandbox Code Playgroud)

有谁知道在多行上拆分替换字符串的方法?

regex perl line-breaks substitution

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

Postgres 根据查询结果从表中选择

我有两个具有相同列的表,顺序相同。我希望根据子查询条件连接两个表之一。例如,假设我有以下架构:

CREATE TABLE b (
    bid SERIAL PRIMARY KEY,
    cid INT NOT NULL
);

CREATE TABLE a1 (
    aid SERIAL PRIMARY KEY,
    bid INT NOT NULL REFERENCES b
);

CREATE TABLE a2 (
    aid SERIAL PRIMARY KEY,
    bid INT NOT NULL REFERENCES b
);
Run Code Online (Sandbox Code Playgroud)

我想要一个查询,它根据某些条件在a1a2之间执行连接。就像是:

WITH z AS (
  SELECT cid, someCondition FROM someTable
)
SELECT *
FROM CASE z.someCondition THEN a1 ELSE a2 END
JOIN b USING (bid)
WHERE cid = (SELECT cid FROM z); …
Run Code Online (Sandbox Code Playgroud)

postgresql postgresql-9.3

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

默认情况下如何撤销PostgreSQL中函数的执行特权

我正在尝试使用命令在PostgreSQL 9.5.4中设置默认权限ALTER DEFAULT PRIVILEGES...。这在尝试授予权限时有效,但是我无法弄清楚默认情况下如何从函数撤消执行权限。我试过了:

ALTER DEFAULT PRIVILEGES FOR USER myAdmin IN SCHEMA public
    REVOKE EXECUTE ON FUNCTIONS FROM public;
Run Code Online (Sandbox Code Playgroud)

这似乎对的输出没有影响\ddp。除非获得其他许可,是否可以防止所有者以外的其他用户执行功能?谢谢。

postgresql postgresql-9.5

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

多行命令中的批注释

我想知道是否可以在批处理文件命令中发表评论.具体来说,我有一个很长的SED命令,如下所示:

@SED -r -e "s/.../.../"^
    -e "s/.../.../"^
    -e "s/.../.../"^
    fileName >outFileName
Run Code Online (Sandbox Code Playgroud)

我想在每个"-e"选项中添加注释,如以下示例所示:

:: Option #1: At the end of the line
@SED -r -e "s/.../.../"^ // First comment
    -e "s/.../.../"^     // Second comment
    -e "s/.../.../"^     // Third comment
    fileName >outFileName

:: Option #2: Between lines
@SED -r
    @REM First comment
    -e "s/.../.../"^
    @REM Second comment
    -e "s/.../.../"^
    @REM Third comment
    -e "s/.../.../"^
    fileName >outFileName
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

comments sed batch-file multiline

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

C++ 防止编译完整模板特化

我有如下代码,将模板类型映射到枚举值。但是,MyEnum::C仅当代码使用 template 时才定义该值something<double>。有没有办法更改模板声明/定义,以便可以编译以下内容?

例如,我想如果我在模板声明的末尾添加一个默认模板参数something,就足以使完整的专业化成为部分专业化,这只会在使用时编译专业化。但是,我无法找出正确的语法来执行此操作。

#include <iostream>

using namespace std;

enum class MyEnum
{
    A,
    B
};

template<typename T>
struct something;

template<>
struct something<int>
{
    static constexpr auto value = MyEnum::A;
};

template<>
struct something<double>
{
    static constexpr auto value = MyEnum::C;
};

int main()
{
    cout << static_cast<int>(something<int>::value) << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我认为以下内容会起作用,但没有:

template<typename T>
constexpr MyEnum toEnum()
{
    if constexpr (std::is_same_v<int, T>)
        return MyEnum::A;
    else if constexpr (std::is_same_v<double, T>)
        return MyEnum::C;
}
Run Code Online (Sandbox Code Playgroud)

c++ templates template-specialization c++17

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